def semester_contributor_ready(request, semester_id): semester = get_object_or_404(Semester, id=semester_id) courses = semester.course_set.filter(state__in=['new', 'lecturerApproved']).all() forms = helper_create_grouped_course_selection_forms(courses, lambda course: not course.warnings(), request) valid = helper_are_course_selection_forms_valid(forms) if valid: selected_courses = [] for form in forms: for course in form.selected_courses: course.ready_for_contributors() course.save() selected_courses.append(course) EmailTemplate.get_review_template().send_to_users_in_courses(selected_courses, ['editors']) messages.success(request, _("Successfully marked %d courses as ready for lecturer review.") % (len(selected_courses))) return redirect('evap.fsr.views.semester_view', semester_id) else: return render_to_response("fsr_semester_contributor_ready.html", dict(semester=semester, forms=forms), context_instance=RequestContext(request))