specify columns of feedback table on questionnaire edit form
This commit is contained in:
parent
6ff8e8211a
commit
cb2ac10524
5 changed files with 41 additions and 41 deletions
|
@ -60,6 +60,22 @@ class SurveyView(ConceptView):
|
||||||
sft = self.adapted.showFeedbackText
|
sft = self.adapted.showFeedbackText
|
||||||
return sft is None and True or sft
|
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):
|
def getTeamData(self, respManager):
|
||||||
#result = [myResponse]
|
#result = [myResponse]
|
||||||
result = []
|
result = []
|
||||||
|
@ -117,10 +133,10 @@ class SurveyView(ConceptView):
|
||||||
result = [dict(category=r['group'].title, text=r['feedback'].text,
|
result = [dict(category=r['group'].title, text=r['feedback'].text,
|
||||||
score=int(round(r['score'] * 100)), rank=r['rank'])
|
score=int(round(r['score'] * 100)), rank=r['rank'])
|
||||||
for r in values]
|
for r in values]
|
||||||
if self.adapted.showTeamResults:
|
if self.showTeamResults:
|
||||||
teamData = self.getTeamData(respManager)
|
teamData = self.getTeamData(respManager)
|
||||||
values = response.getTeamResult(values, teamData)
|
teamValues = response.getTeamResult(values, teamData)
|
||||||
for idx, r in enumerate(values):
|
for idx, r in enumerate(teamValues):
|
||||||
result[idx]['average'] = int(round(r['average'] * 100))
|
result[idx]['average'] = int(round(r['average'] * 100))
|
||||||
result[idx]['teamRank'] = r['rank']
|
result[idx]['teamRank'] = r['rank']
|
||||||
return result
|
return result
|
||||||
|
|
|
@ -23,6 +23,7 @@ Interfaces for surveys used in knowledge management.
|
||||||
from zope.interface import Interface, Attribute
|
from zope.interface import Interface, Attribute
|
||||||
from zope import interface, component, schema
|
from zope import interface, component, schema
|
||||||
|
|
||||||
|
from cybertools.composer.schema.grid.interfaces import Records
|
||||||
from cybertools.knowledge.survey import interfaces
|
from cybertools.knowledge.survey import interfaces
|
||||||
from loops.interfaces import IConceptSchema, ILoopsAdapter
|
from loops.interfaces import IConceptSchema, ILoopsAdapter
|
||||||
from loops.util import _
|
from loops.util import _
|
||||||
|
@ -38,19 +39,16 @@ class IQuestionnaire(IConceptSchema, interfaces.IQuestionnaire):
|
||||||
default=4,
|
default=4,
|
||||||
required=True)
|
required=True)
|
||||||
|
|
||||||
showFeedbackText = schema.Bool(
|
feedbackColumns = Records(
|
||||||
title=_(u'Show Feedback Text'),
|
title=_(u'Feedback Columns'),
|
||||||
description=_(u'If not set no feedback text will be shown on '
|
description=_(u'Column definitions for the results table '
|
||||||
u'the results page.'),
|
u'on the feedback page.'),
|
||||||
default=True,
|
default=[],
|
||||||
required=False)
|
required=False)
|
||||||
|
|
||||||
showTeamResults = schema.Bool(
|
feedbackColumns.column_types = [
|
||||||
title=_(u'Show Team Results'),
|
schema.Text(__name__='name', title=u'Column Name',),
|
||||||
description=_(u'If set the team-related columns will be shown on '
|
schema.Text(__name__='label', title=u'Column Label'),]
|
||||||
u'the results page.'),
|
|
||||||
default=False,
|
|
||||||
required=False)
|
|
||||||
|
|
||||||
feedbackHeader = schema.Text(
|
feedbackHeader = schema.Text(
|
||||||
title=_(u'Feedback Header'),
|
title=_(u'Feedback Header'),
|
||||||
|
|
|
@ -18,33 +18,19 @@
|
||||||
<table class="listing">
|
<table class="listing">
|
||||||
<tr>
|
<tr>
|
||||||
<th i18n:translate="">Category</th>
|
<th i18n:translate="">Category</th>
|
||||||
<th tal:condition="item/showFeedbackText"
|
<th tal:repeat="col item/feedbackColumns"
|
||||||
i18n:translate="">Response</th>
|
i18n:translate=""
|
||||||
<th class="center"
|
tal:attributes="class python:
|
||||||
i18n:translate="">Score</th>
|
col['name'] != 'text' and 'center' or None"
|
||||||
<th class="center"
|
tal:content="col/label" />
|
||||||
i18n:translate="">Rank</th>
|
|
||||||
<tal:team condition="item/adapted/showTeamResults">
|
|
||||||
<th class="center"
|
|
||||||
i18n:translate="">Team Score</th>
|
|
||||||
<th class="center"
|
|
||||||
i18n:translate="">Team Rank</th>
|
|
||||||
</tal:team>
|
|
||||||
</tr>
|
</tr>
|
||||||
<tr tal:repeat="fbitem feedback">
|
<tr tal:repeat="fbitem feedback">
|
||||||
<td tal:content="fbitem/category" />
|
<td tal:content="fbitem/category" />
|
||||||
<td tal:condition="item/showFeedbackText"
|
<tal:cols repeat="col item/feedbackColumns">
|
||||||
tal:content="fbitem/text" />
|
<td tal:define="name col/name"
|
||||||
<td class="center"
|
tal:attributes="class python:name != 'text' and 'center' or None"
|
||||||
tal:content="fbitem/score" />
|
tal:content="fbitem/?name" />
|
||||||
<td class="center"
|
</tal:cols>
|
||||||
tal:content="fbitem/rank" />
|
|
||||||
<tal:team condition="item/adapted/showTeamResults">
|
|
||||||
<td class="center"
|
|
||||||
tal:content="fbitem/average" />
|
|
||||||
<td class="center"
|
|
||||||
tal:content="fbitem/teamRank" />
|
|
||||||
</tal:team>
|
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
<div class="button" id="show_questionnaire">
|
<div class="button" id="show_questionnaire">
|
||||||
|
|
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-24 12:00 CET\n"
|
"PO-Revision-Date: 2014-05-25 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"
|
||||||
|
@ -266,10 +266,10 @@ msgid "Obligatory question, must be answered"
|
||||||
msgstr "Pflichtfrage, muss beantwortet werden"
|
msgstr "Pflichtfrage, muss beantwortet werden"
|
||||||
|
|
||||||
msgid "Score"
|
msgid "Score"
|
||||||
msgstr "Bewertung"
|
msgstr "Ergebnis %"
|
||||||
|
|
||||||
msgid "Team Score"
|
msgid "Team Score"
|
||||||
msgstr "Durchschnitt Team"
|
msgstr "Durchschnitt Team %"
|
||||||
|
|
||||||
msgid "Rank"
|
msgid "Rank"
|
||||||
msgstr "Rang"
|
msgstr "Rang"
|
||||||
|
|
Loading…
Add table
Reference in a new issue