def testGetNextOrder(self): nextOrder1 = self.testEvaluation.getNextQuestionOrder() #Has 2 questions, next question order should = 3 #Evaluation without questions - next question order should = 1 testEvaluation2 = Evaluation(name='X') nextOrder2 = testEvaluation2.getNextQuestionOrder() self.failUnlessEqual(3, nextOrder1) self.failUnlessEqual(1, nextOrder2)
def new(request, isTemplate=False): if request.method == "POST": newEvaluation = Evaluation() if isTemplate: newEvaluation.name = request.POST['name'] newEvaluation.isTemplate = True newEvaluation.save() else: newEvaluation = EvaluationForm(request.POST).save() try: int(request.POST['templateId']) except: # If we can't convert templateId to an integer we assume the user # doesn't want to generate an evaluation from an evaluation template # and so we just sends him through to the template. pass else: # assures that templateId isnt below 1 if int(request.POST['templateId']): # kopiera alla questions ifrån templaten man valde och adda dom till vår nya evaluation selectedTemplateId = request.POST['templateId'] selectedTemplate = Evaluation.objects.get(id=selectedTemplateId) templateQuestions = Question.objects.filter(evaluation=selectedTemplate.id) for templateQuestion in templateQuestions: newQuestion = deepcopy(templateQuestion) newQuestion.id = None newQuestion.evaluation = newEvaluation newQuestion.save() return HttpResponseRedirect("/evaluation/"+ str(newEvaluation.id) +"/add_question") if isTemplate: t = loader.get_template('new_template.html') c = RequestContext(request, {"evaluationForm" : EvaluationForm()}) else: templates = Evaluation().getAllTemplates() t = loader.get_template('new_evaluation.html') c = RequestContext(request, {"templates" : templates, "evaluationForm" : EvaluationForm()}) return HttpResponse(t.render(c))