From ac144b99a328849620959162123163aaeeb4f08b Mon Sep 17 00:00:00 2001 From: Helmut Merz Date: Mon, 11 Mar 2013 17:47:58 +0100 Subject: [PATCH] user interface improvements: show percentage; mouseover tooltip on radio buttons --- knowledge/survey/browser.py | 22 ++++++++++++++-------- knowledge/survey/view_macros.pt | 12 ++++++++---- locales/de/LC_MESSAGES/loops.mo | Bin 21889 -> 22194 bytes locales/de/LC_MESSAGES/loops.po | 12 ++++++++++++ 4 files changed, 34 insertions(+), 12 deletions(-) diff --git a/knowledge/survey/browser.py b/knowledge/survey/browser.py index e232866..657c3e9 100644 --- a/knowledge/survey/browser.py +++ b/knowledge/survey/browser.py @@ -42,6 +42,8 @@ class SurveyView(ConceptView): return template.macros['survey'] def results(self): + result = [] + response = None form = self.request.form if 'submit' in form: self.data = {} @@ -53,15 +55,19 @@ class SurveyView(ConceptView): value = int(value) self.data[uid] = value response.values[question] = value + # TODO: store self.data in track + # else: + # get response from track + if response is not None: result = response.getGroupedResult() - return [dict(category=r[0].title, text=r[1].text) for r in result] - #return [{'category': 'foo', 'text': 'bar'}] - return [] + return [dict(category=r[0].title, text=r[1].text, + score=int(round(r[2] * 100))) + for r in result] - def isChecked(self, question, value): + def getValues(self, question): + setting = 0 if self.data is not None: - setting = self.data.get(question.uid) - if setting is not None: - return value == setting - return value == 0 + setting = self.data.get(question.uid) or 0 + return [dict(value=i, checked=(i == setting)) + for i in range(question.answerRange)] diff --git a/knowledge/survey/view_macros.pt b/knowledge/survey/view_macros.pt index 335b628..3956120 100644 --- a/knowledge/survey/view_macros.pt +++ b/knowledge/survey/view_macros.pt @@ -11,10 +11,12 @@ Category Response + % +
@@ -37,12 +39,14 @@ -   -   +   + value value/value; + checked value/checked; + title string:survey_value_${value/value}" />  diff --git a/locales/de/LC_MESSAGES/loops.mo b/locales/de/LC_MESSAGES/loops.mo index 17afdeae7d8c6af05044b6a085829c0524f7aa0d..0bf32eaa6a4f75a46ee9c4d4f3b693d13930be6c 100644 GIT binary patch delta 8534 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 Cg?`rn delta 8227 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 M@9M6eJ?hH;1Mzw#aR2}S diff --git a/locales/de/LC_MESSAGES/loops.po b/locales/de/LC_MESSAGES/loops.po index 57a243a..74f7395 100644 --- a/locales/de/LC_MESSAGES/loops.po +++ b/locales/de/LC_MESSAGES/loops.po @@ -202,6 +202,18 @@ msgstr "Trifft nicht zu" msgid "Fully applies" msgstr "Trifft voll zu" +msgid "survey_value_0" +msgstr "trifft für unser Unternehmen überhaupt nicht zu" + +msgid "survey_value_1" +msgstr "trifft eher nicht zu" + +msgid "survey_value_2" +msgstr "trifft eher zu" + +msgid "survey_value_3" +msgstr "trifft für unser Unternehmen voll und ganz zu" + msgid "Evaluate Questionnaire" msgstr "Fragebogen auswerten"