From 95a510c7592ab8aa4d4a41020e93dbfaf4ca1aa5 Mon Sep 17 00:00:00 2001 From: Helmut Merz Date: Tue, 3 Jun 2014 18:14:57 +0200 Subject: [PATCH] allow for presentation of questions without grouping by question groups --- knowledge/survey/browser.py | 21 +++++++++++++++++++++ knowledge/survey/view_macros.pt | 15 +++++++++------ locales/de/LC_MESSAGES/loops.mo | Bin 24851 -> 25619 bytes locales/de/LC_MESSAGES/loops.po | 17 ++++++++++++++++- 4 files changed, 46 insertions(+), 7 deletions(-) diff --git a/knowledge/survey/browser.py b/knowledge/survey/browser.py index 04a46d1..205ad5b 100644 --- a/knowledge/survey/browser.py +++ b/knowledge/survey/browser.py @@ -44,6 +44,7 @@ class SurveyView(ConceptView): data = None errors = None + minBatchSize = 10 @Lazy def macro(self): @@ -55,6 +56,26 @@ class SurveyView(ConceptView): if self.editable: 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 def answerOptions(self): opts = self.adapted.answerOptions diff --git a/knowledge/survey/view_macros.pt b/knowledge/survey/view_macros.pt index 8f5ec42..cd14558 100644 --- a/knowledge/survey/view_macros.pt +++ b/knowledge/survey/view_macros.pt @@ -61,11 +61,14 @@
- - + + + + - + tal:repeat="question group/questions"> - +
 
  
- + +
@@ -77,7 +80,7 @@ tal:content="opt/label" />
@@ -90,7 +93,7 @@ title value/title" />
diff --git a/locales/de/LC_MESSAGES/loops.mo b/locales/de/LC_MESSAGES/loops.mo index 26ec710435d2057691fa31ac636944538849dd62..775094eb12c4a6c6afe6b518764a3727b54ff080 100644 GIT binary patch delta 9863 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 diff --git a/locales/de/LC_MESSAGES/loops.po b/locales/de/LC_MESSAGES/loops.po index a478092..301c025 100644 --- a/locales/de/LC_MESSAGES/loops.po +++ b/locales/de/LC_MESSAGES/loops.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: 0.13.0\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 \n" "Language-Team: loops developers \n" "MIME-Version: 1.0\n" @@ -178,6 +178,18 @@ msgstr "Glossareintrag anlegen." msgid "Answer Range" 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" msgstr "Auswertungs-Hinweis" @@ -205,6 +217,9 @@ msgstr "Negative Polarität" msgid "Value inversion: High selection means low value." msgstr "Invertierung der Bewertung: Hohe gewählte Stufe bedeutet niedriger Wert." +msgid "Question" +msgstr "Frage" + msgid "Questionnaire" msgstr "Fragebogen"