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))
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))
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))
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))