allow for presentation of questions without grouping by question groups
This commit is contained in:
parent
391bc395f0
commit
95a510c759
4 changed files with 46 additions and 7 deletions
|
@ -44,6 +44,7 @@ class SurveyView(ConceptView):
|
||||||
|
|
||||||
data = None
|
data = None
|
||||||
errors = None
|
errors = None
|
||||||
|
minBatchSize = 10
|
||||||
|
|
||||||
@Lazy
|
@Lazy
|
||||||
def macro(self):
|
def macro(self):
|
||||||
|
@ -55,6 +56,26 @@ class SurveyView(ConceptView):
|
||||||
if self.editable:
|
if self.editable:
|
||||||
return 'index.html'
|
return 'index.html'
|
||||||
|
|
||||||
|
@Lazy
|
||||||
|
def groups(self):
|
||||||
|
result = []
|
||||||
|
if self.adapted.noGrouping:
|
||||||
|
questions = list(self.adapted.questions)
|
||||||
|
questions.sort(key=lambda x: x.title)
|
||||||
|
size = len(questions)
|
||||||
|
nb = size / self.minBatchSize
|
||||||
|
rem = size % self.minBatchSize
|
||||||
|
bs = self.minBatchSize + ((rem + self.minBatchSize) / nb)
|
||||||
|
for idx in range(0, size, bs):
|
||||||
|
result.append(dict(title=u'Question', infoText=None,
|
||||||
|
questions=questions[idx:idx+bs]))
|
||||||
|
else:
|
||||||
|
for group in self.adapted.questionGroups:
|
||||||
|
result.append(dict(title=group.title,
|
||||||
|
infoText=self.getInfoText(group),
|
||||||
|
questions=group.questions))
|
||||||
|
return result
|
||||||
|
|
||||||
@Lazy
|
@Lazy
|
||||||
def answerOptions(self):
|
def answerOptions(self):
|
||||||
opts = self.adapted.answerOptions
|
opts = self.adapted.answerOptions
|
||||||
|
|
|
@ -61,11 +61,14 @@
|
||||||
</div>
|
</div>
|
||||||
<form method="post">
|
<form method="post">
|
||||||
<table class="listing">
|
<table class="listing">
|
||||||
<tal:qugroup repeat="qugroup item/adapted/questionGroups">
|
<tal:group repeat="group item/groups">
|
||||||
<tr><td colspan="6"> </td></tr>
|
<tr>
|
||||||
|
<td> </td>
|
||||||
|
<td tal:repeat="opt item/answerOptions"> </td></tr>
|
||||||
<tr class="vpad">
|
<tr class="vpad">
|
||||||
<td tal:define="infoText python:item.getInfoText(qugroup)">
|
<td tal:define="infoText group/infoText">
|
||||||
<b tal:content="qugroup/title" />
|
<b i18n:translate=""
|
||||||
|
tal:content="group/title" />
|
||||||
<div class="infotext"
|
<div class="infotext"
|
||||||
tal:condition="infoText">
|
tal:condition="infoText">
|
||||||
<span tal:content="structure infoText" />
|
<span tal:content="structure infoText" />
|
||||||
|
@ -77,7 +80,7 @@
|
||||||
tal:content="opt/label" />
|
tal:content="opt/label" />
|
||||||
</tr>
|
</tr>
|
||||||
<tr class="vpad"
|
<tr class="vpad"
|
||||||
tal:repeat="question qugroup/questions">
|
tal:repeat="question group/questions">
|
||||||
<td tal:content="question/text" />
|
<td tal:content="question/text" />
|
||||||
<td style="white-space: nowrap; text-align: center"
|
<td style="white-space: nowrap; text-align: center"
|
||||||
tal:repeat="value python:item.getValues(question)">
|
tal:repeat="value python:item.getValues(question)">
|
||||||
|
@ -90,7 +93,7 @@
|
||||||
title value/title" />
|
title value/title" />
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</tal:qugroup>
|
</tal:group>
|
||||||
</table>
|
</table>
|
||||||
<input type="submit" name="submit" value="Evaluate Questionnaire"
|
<input type="submit" name="submit" value="Evaluate Questionnaire"
|
||||||
i18n:attributes="value" />
|
i18n:attributes="value" />
|
||||||
|
|
Binary file not shown.
|
@ -3,7 +3,7 @@ msgstr ""
|
||||||
|
|
||||||
"Project-Id-Version: 0.13.0\n"
|
"Project-Id-Version: 0.13.0\n"
|
||||||
"POT-Creation-Date: 2007-05-22 12:00 CET\n"
|
"POT-Creation-Date: 2007-05-22 12:00 CET\n"
|
||||||
"PO-Revision-Date: 2014-05-25 12:00 CET\n"
|
"PO-Revision-Date: 2014-06-03 12:00 CET\n"
|
||||||
"Last-Translator: Helmut Merz <helmutm@cy55.de>\n"
|
"Last-Translator: Helmut Merz <helmutm@cy55.de>\n"
|
||||||
"Language-Team: loops developers <helmutm@cy55.de>\n"
|
"Language-Team: loops developers <helmutm@cy55.de>\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
|
@ -178,6 +178,18 @@ msgstr "Glossareintrag anlegen."
|
||||||
msgid "Answer Range"
|
msgid "Answer Range"
|
||||||
msgstr "Abstufung Bewertungen"
|
msgstr "Abstufung Bewertungen"
|
||||||
|
|
||||||
|
msgid "Answer Options"
|
||||||
|
msgstr "Antwortmöglichkeiten"
|
||||||
|
|
||||||
|
msgid "Values to select from with corresponding column labels and descriptions. There should be at least answer range items with numeric values."
|
||||||
|
msgstr "Auszuwählende Werte mit zugehörigen Spaltenüberschriften und Beschreibungen. Es sollte mindestens so viele Einträge mit numerischen Werten geben wie durch das Feld 'Abstufung Bewertungen' vorgegeben."
|
||||||
|
|
||||||
|
msgid "No Grouping of Questions"
|
||||||
|
msgstr "Keine Gruppierung der Fragen"
|
||||||
|
|
||||||
|
msgid "The questions should be presented in a linear manner, not grouped by categories or question groups."
|
||||||
|
msgstr "Die Fragen sollen in linearer Reihenfolge ausgegeben und nicht nach Fragengruppen bzw. Kategorien gruppiert werden."
|
||||||
|
|
||||||
msgid "Feedback Footer"
|
msgid "Feedback Footer"
|
||||||
msgstr "Auswertungs-Hinweis"
|
msgstr "Auswertungs-Hinweis"
|
||||||
|
|
||||||
|
@ -205,6 +217,9 @@ msgstr "Negative Polarität"
|
||||||
msgid "Value inversion: High selection means low value."
|
msgid "Value inversion: High selection means low value."
|
||||||
msgstr "Invertierung der Bewertung: Hohe gewählte Stufe bedeutet niedriger Wert."
|
msgstr "Invertierung der Bewertung: Hohe gewählte Stufe bedeutet niedriger Wert."
|
||||||
|
|
||||||
|
msgid "Question"
|
||||||
|
msgstr "Frage"
|
||||||
|
|
||||||
msgid "Questionnaire"
|
msgid "Questionnaire"
|
||||||
msgstr "Fragebogen"
|
msgstr "Fragebogen"
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue