do not show description on feedback page, show feedback footer instead; use trusted=True in configure to make fields editable in management interface

This commit is contained in:
Helmut Merz 2013-03-21 10:25:19 +01:00
parent edc1c8fd87
commit cd2eeaeed2
6 changed files with 63 additions and 15 deletions

View file

@ -62,9 +62,10 @@
string:$resourceBase/cybertools.icons/table.png" /> string:$resourceBase/cybertools.icons/table.png" />
</a> </a>
</h1> </h1>
<metal:block use-macro="view/concept_macros/filter_input" /> <metal:block use-macro="view/concept_macros/filter_input" />
</metal:title> </metal:title>
<p tal:define="description description|item/renderedDescription" <p metal:define-macro="conceptdescription"
tal:define="description description|item/renderedDescription"
tal:condition="description"> tal:condition="description">
<i tal:content="structure description">Description</i></p> <i tal:content="structure description">Description</i></p>
</metal:title> </metal:title>

View file

@ -7,19 +7,47 @@
<zope:adapter <zope:adapter
factory="loops.knowledge.survey.base.Questionnaire" factory="loops.knowledge.survey.base.Questionnaire"
provides="loops.knowledge.survey.interfaces.IQuestionnaire" /> provides="loops.knowledge.survey.interfaces.IQuestionnaire"
trusted="True" />
<zope:class class="loops.knowledge.survey.base.Questionnaire">
<require permission="zope.View"
interface="loops.knowledge.survey.interfaces.IQuestionnaire" />
<require permission="zope.ManageContent"
set_schema="loops.knowledge.survey.interfaces.IQuestionnaire" />
</zope:class>
<zope:adapter <zope:adapter
factory="loops.knowledge.survey.base.QuestionGroup" factory="loops.knowledge.survey.base.QuestionGroup"
provides="loops.knowledge.survey.interfaces.IQuestionGroup" /> provides="loops.knowledge.survey.interfaces.IQuestionGroup"
trusted="True" />
<zope:class class="loops.knowledge.survey.base.QuestionGroup">
<require permission="zope.View"
interface="loops.knowledge.survey.interfaces.IQuestionGroup" />
<require permission="zope.ManageContent"
set_schema="loops.knowledge.survey.interfaces.IQuestionGroup" />
</zope:class>
<zope:adapter <zope:adapter
factory="loops.knowledge.survey.base.Question" factory="loops.knowledge.survey.base.Question"
provides="loops.knowledge.survey.interfaces.IQuestion" /> provides="loops.knowledge.survey.interfaces.IQuestion"
trusted="True" />
<zope:class class="loops.knowledge.survey.base.Question">
<require permission="zope.View"
interface="loops.knowledge.survey.interfaces.IQuestion" />
<require permission="zope.ManageContent"
set_schema="loops.knowledge.survey.interfaces.IQuestion" />
</zope:class>
<zope:adapter <zope:adapter
factory="loops.knowledge.survey.base.FeedbackItem" factory="loops.knowledge.survey.base.FeedbackItem"
provides="loops.knowledge.survey.interfaces.IFeedbackItem" /> provides="loops.knowledge.survey.interfaces.IFeedbackItem"
trusted="True" />
<zope:class class="loops.knowledge.survey.base.FeedbackItem">
<require permission="zope.View"
interface="loops.knowledge.survey.interfaces.IFeedbackItem" />
<require permission="zope.ManageContent"
set_schema="loops.knowledge.survey.interfaces.IFeedbackItem" />
</zope:class>
<!-- track --> <!-- track -->

View file

@ -24,7 +24,7 @@ from zope.interface import Interface, Attribute
from zope import interface, component, schema from zope import interface, component, schema
from cybertools.knowledge.survey import interfaces from cybertools.knowledge.survey import interfaces
from loops.interfaces import IConceptSchema from loops.interfaces import IConceptSchema, ILoopsAdapter
from loops.util import _ from loops.util import _
@ -38,6 +38,13 @@ class IQuestionnaire(IConceptSchema, interfaces.IQuestionnaire):
default=4, default=4,
required=True) required=True)
feedbackFooter = schema.Text(
title=_(u'Feedback Footer'),
description=_(u'Text that will appear at the end of the feedback page.'),
default=u'',
missing_value=u'',
required=False)
class IQuestionGroup(IConceptSchema, interfaces.IQuestionGroup): class IQuestionGroup(IConceptSchema, interfaces.IQuestionGroup):
""" A group of questions within a questionnaire. """ A group of questions within a questionnaire.

View file

@ -5,14 +5,10 @@
<metal:block define-macro="survey" <metal:block define-macro="survey"
tal:define="feedback item/results; tal:define="feedback item/results;
errors item/errors"> errors item/errors">
<metal:title use-macro="item/conceptMacros/concepttitle" /> <metal:title use-macro="item/conceptMacros/concepttitle_only" />
<div class="error" <tal:description condition="not:feedback">
tal:condition="errors"> <metal:title use-macro="item/conceptMacros/conceptdescription" />
<div tal:repeat="error errors"> </tal:description>
<span i18n:translate=""
tal:content="error" />
</div>
</div>
<div tal:condition="feedback"> <div tal:condition="feedback">
<h3 i18n:translate="">Feedback</h3> <h3 i18n:translate="">Feedback</h3>
<table class="listing"> <table class="listing">
@ -33,10 +29,20 @@
Back to Questionnaire</a> Back to Questionnaire</a>
<br /> <br />
</div> </div>
<div tal:define="footer item/adapted/feedbackFooter"
tal:condition="footer"
tal:content="structure python:item.renderText(footer, 'text/restructured')" />
</div> </div>
<div id="questionnaire" <div id="questionnaire"
tal:condition="not:feedback"> tal:condition="not:feedback">
<h3 i18n:translate="">Questionnaire</h3> <h3 i18n:translate="">Questionnaire</h3>
<div class="error"
tal:condition="errors">
<div tal:repeat="error errors">
<span i18n:translate=""
tal:content="error" />
</div>
</div>
<form method="post"> <form method="post">
<table class="listing"> <table class="listing">
<tal:qugroup repeat="qugroup item/adapted/questionGroups"> <tal:qugroup repeat="qugroup item/adapted/questionGroups">

Binary file not shown.

View file

@ -175,6 +175,12 @@ msgstr "Glossareintrag anlegen."
msgid "Answer Range" msgid "Answer Range"
msgstr "Abstufung Bewertungen" msgstr "Abstufung Bewertungen"
msgid "Feedback Footer"
msgstr "Auswertungs-Hinweis"
msgid "Text that will appear at the end of the feedback page."
msgstr "Text, der am Ende der Auswertungsseite erscheinen soll."
msgid "Number of items (answer options) to select from." msgid "Number of items (answer options) to select from."
msgstr "Anzahl der Abstufungen, aus denen bei der Antwort gewählt werden kann." msgstr "Anzahl der Abstufungen, aus denen bei der Antwort gewählt werden kann."