Beispiel #1
0
def exam_edit(request, pk=None):
    exam = exams.objects.get(id=pk)
    exform = ExamForm(instance=exam)
    subexformmodelset = modelformset_factory(SubExam, form=SubExamForm)
    subexformset = subexformmodelset(
        request.POST or None, queryset=SubExam.objects.filter(parent_exam=pk))
    if request.method == 'POST':
        exform = ExamForm(request.POST, instance=exam)
        if exform.is_valid() and subexformset.is_valid():
            exform.save()
            instances = subexformset.save(commit=False)
            for subexform in instances:
                subexform.parent_exam = exam.id
                subexform.save()
            return redirect('/exams/dashboard/')
        else:
            print(subexformset.errors)

    return render(request, 'exams/exam_create.html', {
        'exform': exform,
        'exformset': subexformset
    })
Beispiel #2
0
def exam_add(request):
    exform = ExamForm()
    subexformset = modelformset_factory(SubExam, form=SubExamForm, extra=1)
    subexformset = subexformset(
        request.POST or None, queryset=SubExam.objects.filter(id__isnull=True))
    if request.method == 'POST':
        exam = exams()
        exform = ExamForm(request.POST, instance=exam)
        if exform.is_valid() and subexformset.is_valid():
            exform.save()
            instances = subexformset.save(commit=False)
            for subexform in instances:
                subexform.parent_exam = exam.id
                subexform.save()
            return redirect('/exams/dashboard/')
        else:
            print('invalid data')

    return render(request, 'exams/exam_create.html', {
        'exform': exform,
        'exformset': subexformset
    })
Beispiel #3
0
def create_exam(request, course_id):
    course = Course.objects.get(id=course_id)
    if Question.objects.filter(course=course).exists():
        form = ExamForm(course=course)
        if request.method == "POST":
            form = ExamForm(course=course, data=request.POST)
            if form.is_valid():
                exam = form.save(commit=False)
                exam.course = course
                exam.save()
                add_questions(course, exam)
                messages.success(request, "Exam created successfully!")
                return redirect("/courses/" + course_id + "/exams/")
        return render(request, "create_exam.html", {"form": form, "course": course})
    messages.error(request, "Course has no questions!")
    return redirect("/courses/" + course_id)
Beispiel #4
0
def create_exam(request, course_id):
    course = Course.objects.get(id=course_id)
    if Question.objects.filter(course=course).exists():
        form = ExamForm(course=course)
        if request.method == 'POST':
            form = ExamForm(course=course, data=request.POST)
            if form.is_valid():
                exam = form.save(commit=False)
                exam.owner = request.user
                exam.course = course
                exam.save()
                add_questions(course, exam)
                messages.success(request, 'Exam created successfully!')
                return redirect('/courses/' + course_id + '/exams/')
        return render(request, 'create_exam.html', {'form': form,
            'course': course })
    else:
        messages.error(request, 'Course has no questions!')
        return redirect('/courses/' + course_id)
Beispiel #5
0
def create_exam(request, course_id):
    course = Course.objects.get(id=course_id)
    if Question.objects.filter(course=course).exists():
        form = ExamForm(course=course)
        if request.method == 'POST':
            form = ExamForm(course=course, data=request.POST)
            if form.is_valid():
                exam = form.save(commit=False)
                exam.course = course
                exam.save()
                add_questions(course, exam)
                messages.success(request, 'Exam created successfully!')
                return redirect('/courses/' + course_id + '/exams/')
        return render(request, 'create_exam.html', {
            'form': form,
            'course': course
        })
    messages.error(request, 'Course has no questions!')
    return redirect('/courses/' + course_id)