Example #1
0
 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)
Example #2
0
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))