def finish_questionnaire(request, runinfo, questionnaire): hist = RunInfoHistory() hist.subject = runinfo.subject hist.runid = runinfo.runid hist.completed = datetime.now() hist.questionnaire = questionnaire hist.tags = runinfo.tags hist.skipped = runinfo.skipped hist.save() questionnaire_done.send(sender=None, runinfo=runinfo, questionnaire=questionnaire) redirect_url = questionnaire.redirect_url for x, y in (('$LANG', translation.get_language()), ('$SUBJECTID', runinfo.subject.id), ('$RUNID', runinfo.runid),): redirect_url = redirect_url.replace(x, str(y)) if runinfo.runid in ('12345', '54321') \ or runinfo.runid.startswith('test:'): runinfo.questionset = QuestionSet.objects.filter(questionnaire=questionnaire).order_by('sortid')[0] runinfo.save() else: runinfo.delete() commit() if redirect_url: return HttpResponseRedirect(redirect_url) return r2r("questionnaire/complete.$LANG.html", request)
def finish_questionnaire(request, runinfo, questionnaire): hist = RunInfoHistory() hist.subject = runinfo.subject hist.runid = runinfo.runid hist.completed = datetime.now() hist.questionnaire = questionnaire hist.tags = runinfo.tags hist.skipped = runinfo.skipped hist.save() questionnaire_done.send(sender=None, runinfo=runinfo, questionnaire=questionnaire) redirect_url = questionnaire.redirect_url for x, y in ( ('$LANG', translation.get_language()), ('$SUBJECTID', runinfo.subject.id), ('$RUNID', runinfo.runid), ): redirect_url = redirect_url.replace(x, str(y)) if runinfo.runid in ('12345', '54321') \ or runinfo.runid.startswith('test:'): runinfo.questionset = QuestionSet.objects.filter( questionnaire=questionnaire).order_by('sortid')[0] runinfo.save() else: runinfo.delete() commit() if redirect_url: return HttpResponseRedirect(redirect_url) return r2r("questionnaire/complete.$LANG.html", request)
questionset_done.send(sender=None,runinfo=runinfo,questionset=questionset) next = questionset.next() while next and not questionset_satisfies_checks(next, runinfo): next = next.next() runinfo.questionset = next runinfo.save() if next is None: # we are finished hist = RunInfoHistory() hist.subject = runinfo.subject hist.runid = runinfo.runid hist.completed = datetime.now() hist.save() questionnaire_done.send(sender=None, runinfo=runinfo, questionnaire=questionnaire) redirect_url = questionnaire.redirect_url for x,y in (('$LANG', translation.get_language()), ('$SUBJECTID', runinfo.subject.id), ('$RUNID', runinfo.runid),): redirect_url = redirect_url.replace(x, str(y)) if runinfo.runid in ('12345', '54321') \ or runinfo.runid.startswith('test:'): runinfo.questionset = QuestionSet.objects.filter(questionnaire=questionnaire).order_by('sortid')[0] runinfo.save() else: runinfo.delete() transaction.commit() if redirect_url:
next = questionset.next() while next and not questionset_satisfies_checks(next, runinfo): next = next.next() runinfo.questionset = next runinfo.save() if next is None: # we are finished hist = RunInfoHistory() hist.subject = runinfo.subject hist.runid = runinfo.runid hist.completed = datetime.now() hist.save() questionnaire_done.send(sender=None, runinfo=runinfo, questionnaire=questionnaire) redirect_url = questionnaire.redirect_url for x, y in ( ('$LANG', translation.get_language()), ('$SUBJECTID', runinfo.subject.id), ('$RUNID', runinfo.runid), ): redirect_url = redirect_url.replace(x, str(y)) if runinfo.runid in ('12345', '54321') \ or runinfo.runid.startswith('test:'): runinfo.questionset = QuestionSet.objects.filter( questionnaire=questionnaire).order_by('sortid')[0] runinfo.save()