fix access from response to questionnaire to allow use of question groups in more than one questionnaire
This commit is contained in:
parent
b5b2b0c7b4
commit
a83f80a1f9
3 changed files with 8 additions and 9 deletions
BIN
browser/icons/page_copy.png
Normal file
BIN
browser/icons/page_copy.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 663 B |
BIN
browser/icons/page_delete.png
Normal file
BIN
browser/icons/page_delete.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 740 B |
|
@ -59,12 +59,7 @@ class Question(object):
|
||||||
self.text = text
|
self.text = text
|
||||||
self.revertAnswerOptions = False
|
self.revertAnswerOptions = False
|
||||||
self.questionType = 'value_selection'
|
self.questionType = 'value_selection'
|
||||||
|
self.answerRange = None
|
||||||
def getAnswerRange(self):
|
|
||||||
return self._answerRange or self.questionnaire.defaultAnswerRange
|
|
||||||
def setAnswerRange(self, value):
|
|
||||||
self._answerRange = value
|
|
||||||
answerRange = property(getAnswerRange, setAnswerRange)
|
|
||||||
|
|
||||||
|
|
||||||
class FeedbackItem(object):
|
class FeedbackItem(object):
|
||||||
|
@ -92,7 +87,9 @@ class Response(object):
|
||||||
continue
|
continue
|
||||||
for fi, rf in question.feedbackItems.items():
|
for fi, rf in question.feedbackItems.items():
|
||||||
if question.revertAnswerOptions:
|
if question.revertAnswerOptions:
|
||||||
value = question.answerRange - value - 1
|
answerRange = (question.answerRange or
|
||||||
|
self.questionnaire.defaultAnswerRange)
|
||||||
|
value = answerRange - value - 1
|
||||||
result[fi] = result.get(fi, 0.0) + rf * value
|
result[fi] = result.get(fi, 0.0) + rf * value
|
||||||
return sorted(result.items(), key=lambda x: -x[1])
|
return sorted(result.items(), key=lambda x: -x[1])
|
||||||
|
|
||||||
|
@ -106,10 +103,12 @@ class Response(object):
|
||||||
value = self.values.get(qu)
|
value = self.values.get(qu)
|
||||||
if value is None or isinstance(value, basestring):
|
if value is None or isinstance(value, basestring):
|
||||||
continue
|
continue
|
||||||
|
answerRange = (qu.answerRange or
|
||||||
|
self.questionnaire.defaultAnswerRange)
|
||||||
if qu.revertAnswerOptions:
|
if qu.revertAnswerOptions:
|
||||||
value = qu.answerRange - value - 1
|
value = answerRange - value - 1
|
||||||
score += value
|
score += value
|
||||||
scoreMax += qu.answerRange - 1
|
scoreMax += answerRange - 1
|
||||||
if scoreMax > 0.0:
|
if scoreMax > 0.0:
|
||||||
relScore = score / scoreMax
|
relScore = score / scoreMax
|
||||||
wScore = relScore * len(qugroup.feedbackItems) - 0.00001
|
wScore = relScore * len(qugroup.feedbackItems) - 0.00001
|
||||||
|
|
Loading…
Add table
Reference in a new issue