def createLesson(request): if request.method == "POST": questions = simplejson.loads(request.POST["questions"]) lesson = Lesson(name=request.POST["lesson_name"], creator=User.objects.get(pk=request.user.id)) lesson.save() for q in questions: if q["id"] == "": x = Question(text=q["q_text"], q_num=q["q_num"]) x.save() lesson.questions.add(x) else: x = Question.objects.get(pk=q["id"]) x.text = q["q_text"] x.q_num = q["q_num"] x.save() messages.add_message(request, messages.INFO, 'Lesson "' + lesson.name + '" created.') return redirect("/") else: try: num = int(request.GET["num"]) + 1 except KeyError: num = 1 return render_to_response( "stu_response/lesson_form.html", {"num": range(1, num)}, context_instance=RequestContext(request) )
def editLesson(request, lesson_id): lesson = get_object_or_404(Lesson, key=lesson_id) lesson_is_in = lesson.class_set.all() user_is_legit = False for cls in lesson_is_in: if request.user in cls.teachers.all(): user_is_legit = True if not user_is_legit: return HttpResponseForbidden("You do not have access to this page.") if request.method == "POST": questions = simplejson.loads(request.POST["questions"]) lesson.name = request.POST["lesson_name"] lesson.save() addedQ = [] for q in questions: if q["id"] == "": x = Question(text=q["q_text"], q_num=q["q_num"]) x.save() lesson.questions.add(x) else: if lesson.questions.filter(pk=q["id"]).count() == 0: return HttpResponseForbidden("Stop screwing with us") x = Question.objects.get(pk=q["id"]) x.text = q["q_text"] x.q_num = int(q["q_num"]) x.save() addedQ.append(x) q_set = lesson.questions.all() for x in q_set: for q in range(len(addedQ)): if x.id.__str__() == addedQ[q].id.__str__(): break elif q == len(questions) - 1: x.delete() break messages.add_message(request, messages.INFO, lesson.name + " saved.") return redirect("/") return render_to_response( "stu_response/lesson_form.html", {"questions": lesson.questions.all().order_by("q_num"), "lesson": lesson}, context_instance=RequestContext(request), )