コード例 #1
0
ファイル: views.py プロジェクト: mason-schulze/Grading_AHS
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)
        )
コード例 #2
0
ファイル: views.py プロジェクト: mason-schulze/Grading_AHS
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),
    )