Пример #1
0
 def test_course_selection_form(self):
     """ Tests the SelectCourseForm with one valid input dataset
         (one cannot make it invalid through the UI). """
     course1 = Course.objects.get(pk=1)
     course2 = Course.objects.get(pk=2)
     data = {"1": True, "2": False}
     form = SelectCourseForm(course1.degree, [course1, course2], None, data=data)
     self.assertTrue(form.is_valid())
Пример #2
0
def semester_approve(request, semester_id):
    semester = get_object_or_404(Semester, id=semester_id)
    form = SelectCourseForm(semester.course_set.filter(state__in=['new', 'prepared', 'lecturerApproved']).all(), lambda course: not course.warnings(), request.POST or None)
    
    if form.is_valid():
        for course in form.selected_courses:
            course.fsr_approve()
            course.save()
        
        messages.add_message(request, messages.INFO, _("Successfully approved %d courses.") % (len(form.selected_courses)))
        return redirect('evap.fsr.views.semester_view', semester.id)
    else:
        return render_to_response("fsr_semester_approve.html", dict(semester=semester, form=form), context_instance=RequestContext(request))
Пример #3
0
def semester_lecturer_ready(request, semester_id):
    semester = get_object_or_404(Semester, id=semester_id)
    form = SelectCourseForm(semester.course_set.filter(state__in=['new', 'lecturerApproved']).all(), lambda course: not course.warnings(), request.POST or None)
    
    if form.is_valid():
        for course in form.selected_courses:
            course.ready_for_lecturer(False)
            course.save()
        
        print form.selected_courses
        EmailTemplate.get_review_template().send_courses(form.selected_courses, True, False)
        
        return redirect('evap.fsr.views.semester_view', semester.id)
    else:
        return render_to_response("fsr_semester_lecturer_ready.html", dict(semester=semester, form=form), context_instance=RequestContext(request))
Пример #4
0
def semester_publish(request, semester_id):
    semester = get_object_or_404(Semester, id=semester_id)
    form = SelectCourseForm(semester.course_set.filter(state="reviewed").all(), None, request.POST or None)
    
    if form.is_valid():
        for course in form.selected_courses:
            course.publish()
            course.save()
        
        try:
            EmailTemplate.get_publish_template().send_courses(form.selected_courses, True, True)
        except:
            messages.add_message(request, messages.WARNING, _("Could not send emails to participants and lecturers"))
        messages.add_message(request, messages.INFO, _("Successfully published %d courses.") % (len(form.selected_courses)))
        return redirect('evap.fsr.views.semester_view', semester.id)
    else:
        return render_to_response("fsr_semester_publish.html", dict(semester=semester, form=form), context_instance=RequestContext(request))
Пример #5
0
def helper_create_grouped_course_selection_forms(courses, filter_func, request):
    grouped_courses = {}
    for course in courses:
        degree = course.degree
        if not grouped_courses.has_key(degree):
            grouped_courses[degree] = []
        grouped_courses[degree].append(course)

    forms = []
    for degree, degreeCourses in grouped_courses.items():
        form = SelectCourseForm(degree, degreeCourses, filter_func, request.POST or None)
        forms.append(form)

    return forms