Example #1
0
def addSet(request):
    if (request.method == "POST"):
        data = simplejson.loads(request.POST['form_data'])
        if data['group'] != "":
            new_set = Set(name=data['name'],
                          description=data['description'],
                          creator=request.user,
                          group=Group.objects.get(uid=data['group']))
        else:
            new_set = Set(name=data['name'],
                          description=data['description'],
                          creator=request.user)
        new_set.save()
        for s in data['subjects'].split(','):
            new_set.subjects.add(Subject.objects.get(pk=s))
        questions = simplejson.loads(request.POST['questions'])
        for q in questions:
            question = Question.objects.get(uid=q['id'])
            s = Set_questions(set=new_set,
                              question=question,
                              q_num=q["q_num"],
                              q_type=q['type'])
            s.save()
            question.is_used = 1
            question.save()
        return redirect("qset.views.viewSet", set_id=new_set.uid)
    else:
        form = SetForm(user=request.user)
    return render_to_response('qset/set_creation.html', {"form": form},
                              context_instance=RequestContext(request))
Example #2
0
def editSet(request, set_id):
    curr_set = get_object_or_404(Set, uid=set_id)
    if request.method == "POST":
        data = simplejson.loads(request.POST['form_data'])
        curr_set.name = data['name']
        curr_set.description = data['description']
        curr_set.save()
        for s in data['subjects'].split(','):
            curr_set.subjects.add(Subject.objects.get(pk=s))
        # Set original question to unused
        for q in curr_set.questions.all():
            q.is_used = 0
            q.save()
        curr_set.questions.clear()
        # Add questions from the form
        questions = simplejson.loads(request.POST['questions'])
        for q in questions:
            question = Question.objects.get(uid=q['id'])
            s = Set_questions(set=curr_set,
                              question=question,
                              q_num=q["q_num"],
                              q_type=q['type'])
            s.save()
            question.is_used = 1
            question.save()
        return HttpResponseRedirect("/set/" + str(curr_set.uid) + "/")
    else:
        form = SetForm(user=request.user, instance=curr_set)
        questions = sorted(curr_set.questions.all(),
                           key=lambda q: q.set_questions_set.all()[0].q_num)
        qlist = []
        for q in questions:
            curr = {
                "type": escape(q.type),
                "subject": q.subject.name,
                "date": q.creation_date.date().__str__(),
                "text": escape(q.text),
                "answer": escape(q.ans()),
                "id": q.uid,
                "user": q.creator.get_full_name(),
                "used": q.is_used,
            }
            if q.type == 0:
                curr["w"] = escape(q.choice_w)
                curr["x"] = escape(q.choice_x)
                curr["y"] = escape(q.choice_y)
                curr["z"] = escape(q.choice_z)
            qlist.append(curr)
        qlist = simplejson.dumps(qlist)
        return render_to_response('qset/set_creation.html', {
            "form": form,
            "set": curr_set,
            "set_questions": qlist
        },
                                  context_instance=RequestContext(request))
Example #3
0
def editSet(request, set_id):
    curr_set = get_object_or_404(Set, uid=set_id)
    if request.method == "POST":
        data = simplejson.loads(request.POST['form_data'])
        curr_set.name = data['name']
        curr_set.description = data['description']
        curr_set.save()
        for s in data['subjects'].split(','):
            curr_set.subjects.add(Subject.objects.get(pk=s))
        # Set original question to unused
        for q in curr_set.questions.all():
            q.is_used = 0
            q.save()
        curr_set.questions.clear()
        # Add questions from the form
        questions = simplejson.loads(request.POST['questions'])
        for q in questions:
            question = Question.objects.get(uid=q['id'])
            s = Set_questions(set=curr_set, question=question, q_num=q["q_num"], q_type=q['type'])
            s.save()
            question.is_used = 1
            question.save()
        return HttpResponseRedirect("/set/" + str(curr_set.uid) + "/")
    else:
        form = SetForm(user=request.user, instance=curr_set)
        questions = sorted(curr_set.questions.all(), key=lambda q: q.set_questions_set.all()[0].q_num)
        qlist = []
        for q in questions:
            curr = {
                "type": escape(q.type),
                "subject": q.subject.name,
                "date": q.creation_date.date().__str__(),
                "text": escape(q.text),
                "answer": escape(q.ans()),
                "id": q.uid,
                "user": q.creator.get_full_name(),
                "used": q.is_used,
            }
            if q.type == 0:
                curr["w"] = escape(q.choice_w)
                curr["x"] = escape(q.choice_x)
                curr["y"] = escape(q.choice_y)
                curr["z"] = escape(q.choice_z)
            qlist.append(curr)
        qlist = simplejson.dumps(qlist)
        return render_to_response('qset/set_creation.html', {"form": form, "set": curr_set, "set_questions": qlist}, context_instance=RequestContext(request))
Example #4
0
def addSet(request):
    if(request.method == "POST"):
        data = simplejson.loads(request.POST['form_data'])
        if data['group'] != "":
            new_set = Set(name=data['name'], description=data['description'], creator=request.user, group=Group.objects.get(uid=data['group']))
        else:
            new_set = Set(name=data['name'], description=data['description'], creator=request.user)
        new_set.save()
        for s in data['subjects'].split(','):
            new_set.subjects.add(Subject.objects.get(pk=s))
        questions = simplejson.loads(request.POST['questions'])
        for q in questions:
            question = Question.objects.get(uid=q['id'])
            s = Set_questions(set=new_set, question=question, q_num=q["q_num"], q_type=q['type'])
            s.save()
            question.is_used = 1
            question.save()
        return redirect("qset.views.viewSet", set_id=new_set.uid)
    else:
        form = SetForm(user=request.user)
    return render_to_response('qset/set_creation.html', {"form": form}, context_instance=RequestContext(request))