diff --git a/knowledge/survey/browser.py b/knowledge/survey/browser.py index 5de6302..10f90cf 100644 --- a/knowledge/survey/browser.py +++ b/knowledge/survey/browser.py @@ -60,6 +60,22 @@ class SurveyView(ConceptView): sft = self.adapted.showFeedbackText return sft is None and True or sft + @Lazy + def feedbackColumns(self): + cols = self.adapted.feedbackColumns + if not cols: + cols = [ + dict(name='text', label=u'Response'), + dict(name='score', label=u'Score')] + return cols + + @Lazy + def showTeamResults(self): + for c in self.feedbackColumns: + if c['name'] in ('average', 'teamRank'): + return True + return False + def getTeamData(self, respManager): #result = [myResponse] result = [] @@ -117,10 +133,10 @@ class SurveyView(ConceptView): result = [dict(category=r['group'].title, text=r['feedback'].text, score=int(round(r['score'] * 100)), rank=r['rank']) for r in values] - if self.adapted.showTeamResults: + if self.showTeamResults: teamData = self.getTeamData(respManager) - values = response.getTeamResult(values, teamData) - for idx, r in enumerate(values): + teamValues = response.getTeamResult(values, teamData) + for idx, r in enumerate(teamValues): result[idx]['average'] = int(round(r['average'] * 100)) result[idx]['teamRank'] = r['rank'] return result diff --git a/knowledge/survey/interfaces.py b/knowledge/survey/interfaces.py index e66656e..9799865 100644 --- a/knowledge/survey/interfaces.py +++ b/knowledge/survey/interfaces.py @@ -23,6 +23,7 @@ Interfaces for surveys used in knowledge management. from zope.interface import Interface, Attribute from zope import interface, component, schema +from cybertools.composer.schema.grid.interfaces import Records from cybertools.knowledge.survey import interfaces from loops.interfaces import IConceptSchema, ILoopsAdapter from loops.util import _ @@ -38,19 +39,16 @@ class IQuestionnaire(IConceptSchema, interfaces.IQuestionnaire): default=4, required=True) - showFeedbackText = schema.Bool( - title=_(u'Show Feedback Text'), - description=_(u'If not set no feedback text will be shown on ' - u'the results page.'), - default=True, + feedbackColumns = Records( + title=_(u'Feedback Columns'), + description=_(u'Column definitions for the results table ' + u'on the feedback page.'), + default=[], required=False) - showTeamResults = schema.Bool( - title=_(u'Show Team Results'), - description=_(u'If set the team-related columns will be shown on ' - u'the results page.'), - default=False, - required=False) + feedbackColumns.column_types = [ + schema.Text(__name__='name', title=u'Column Name',), + schema.Text(__name__='label', title=u'Column Label'),] feedbackHeader = schema.Text( title=_(u'Feedback Header'), diff --git a/knowledge/survey/view_macros.pt b/knowledge/survey/view_macros.pt index 56af418..bb976ba 100644 --- a/knowledge/survey/view_macros.pt +++ b/knowledge/survey/view_macros.pt @@ -18,33 +18,19 @@ - - - - - - - +
CategoryResponseScoreRankTeam ScoreTeam Rank
- - - - - - - + + +
diff --git a/locales/de/LC_MESSAGES/loops.mo b/locales/de/LC_MESSAGES/loops.mo index 6d61ea8..26ec710 100644 Binary files a/locales/de/LC_MESSAGES/loops.mo and b/locales/de/LC_MESSAGES/loops.mo differ diff --git a/locales/de/LC_MESSAGES/loops.po b/locales/de/LC_MESSAGES/loops.po index a674499..a478092 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-24 12:00 CET\n" +"PO-Revision-Date: 2014-05-25 12:00 CET\n" "Last-Translator: Helmut Merz \n" "Language-Team: loops developers \n" "MIME-Version: 1.0\n" @@ -266,10 +266,10 @@ msgid "Obligatory question, must be answered" msgstr "Pflichtfrage, muss beantwortet werden" msgid "Score" -msgstr "Bewertung" +msgstr "Ergebnis %" msgid "Team Score" -msgstr "Durchschnitt Team" +msgstr "Durchschnitt Team %" msgid "Rank" msgstr "Rang"