def store_in_database(self, vote_start_datetime, vote_end_date, semester): course_type = CourseType.objects.get(name_de=self.type_name) # This is safe because the user's email address is checked before in the importer (see #953) responsible_dbobj = UserProfile.objects.get( email=self.responsible_email) course = Course( name_de=self.name_de, name_en=self.name_en, type=course_type, is_graded=self.is_graded, semester=semester, ) course.save() course.responsibles.set([responsible_dbobj]) for degree_name in self.degree_names: course.degrees.add(Degree.objects.get(name_de=degree_name)) evaluation = Evaluation( vote_start_datetime=vote_start_datetime, vote_end_date=vote_end_date, course=course, ) evaluation.save() evaluation.contributions.create( contributor=responsible_dbobj, evaluation=evaluation, can_edit=True, textanswer_visibility=Contribution.TextAnswerVisibility. GENERAL_TEXTANSWERS)
def test_single_result_form_saves_participant_and_voter_count(self): responsible = mommy.make(UserProfile) course_type = mommy.make(CourseType) course = Course(semester=mommy.make(Semester)) form_data = { "name_de": "qwertz", "name_en": "qwertz", "type": course_type.pk, "degrees": ["1"], "event_date": "2014-01-01", "responsible": responsible.pk, "answer_1": 6, "answer_2": 0, "answer_3": 2, "answer_4": 0, "answer_5": 2, "semester": course.semester.pk } form = SingleResultForm(form_data, instance=course) self.assertTrue(form.is_valid()) form.save(user=mommy.make(UserProfile)) course = Course.objects.get() self.assertEqual(course.num_participants, 10) self.assertEqual(course.num_voters, 10)
def store_in_database(self, vote_start_datetime, vote_end_date, semester): assert not self.errors # This is safe because the user's email address is checked before in the importer (see #953) responsible_dbobj = UserProfile.objects.get( email=self.responsible_email) course = Course( name_de=self.name_de, name_en=self.name_en, type=self.course_type, semester=semester, ) course.save() course.responsibles.set([responsible_dbobj]) course.degrees.set(self.degrees) evaluation = Evaluation( vote_start_datetime=vote_start_datetime, vote_end_date=vote_end_date, course=course, wait_for_grade_upload_before_publishing=self.is_graded, ) evaluation.save() evaluation.contributions.create( evaluation=evaluation, contributor=responsible_dbobj, role=Contribution.Role.EDITOR, textanswer_visibility=Contribution.TextAnswerVisibility. GENERAL_TEXTANSWERS, )
def course_create(request, semester_id): semester = get_object_or_404(Semester, id=semester_id) raise_permission_denied_if_archived(semester) course = Course(semester=semester) InlineContributionFormset = inlineformset_factory( Course, Contribution, formset=ContributionFormSet, form=ContributionForm, extra=1) form = CourseForm(request.POST or None, instance=course) formset = InlineContributionFormset(request.POST or None, instance=course, form_kwargs={'course': course}) if form.is_valid() and formset.is_valid(): form.save(user=request.user) formset.save() messages.success(request, _("Successfully created course.")) return redirect('staff:semester_view', semester_id) else: return render( request, "staff_course_form.html", dict(semester=semester, form=form, formset=formset, staff=True))
def test_single_result_form_can_change_responsible(self): responsible = mommy.make(UserProfile) course_type = mommy.make(CourseType) course = Course(semester=mommy.make(Semester)) form_data = { "name_de": "qwertz", "name_en": "qwertz", "type": course_type.pk, "degrees": ["1"], "event_date": "2014-01-01", "responsible": responsible.pk, "answer_1": 6, "answer_2": 0, "answer_3": 2, "answer_4": 0, "answer_5": 2, "semester": course.semester.pk } form = SingleResultForm(form_data, instance=course) self.assertTrue(form.is_valid()) form.save(user=mommy.make(UserProfile)) self.assertEqual(course.responsible_contributors[0], responsible) new_responsible = mommy.make(UserProfile) form_data["responsible"] = new_responsible.pk form = SingleResultForm(form_data, instance=course) self.assertTrue(form.is_valid()) form.save(user=mommy.make(UserProfile)) self.assertEqual(course.responsible_contributors[0], new_responsible)
def course_create(request, semester_id): semester = get_object_or_404(Semester, id=semester_id) course = Course(semester=semester) ContributionFormset = inlineformset_factory(Course, Contribution, formset=ContributorFormSet, form=ContributionForm, extra=1, exclude=('course', )) form = CourseForm(request.POST or None, instance=course) formset = ContributionFormset(request.POST or None, instance=course) if form.is_valid() and formset.is_valid(): form.save(user=request.user) formset.save() messages.add_message(request, messages.INFO, _("Successfully created course.")) return redirect('evap.fsr.views.semester_view', semester_id) else: return render_to_response("fsr_course_form.html", dict(semester=semester, form=form, formset=formset), context_instance=RequestContext(request))
def store_in_database(self, vote_start_date, vote_end_date, semester): course = Course(name_de=self.name_de, name_en=self.name_en, kind=self.kind, vote_start_date=vote_start_date, vote_end_date=vote_end_date, semester=semester, degree=self.degree) course.save() return course
def single_result_create(request, semester_id): semester = get_object_or_404(Semester, id=semester_id) raise_permission_denied_if_archived(semester) course = Course(semester=semester) form = SingleResultForm(request.POST or None, instance=course) if form.is_valid(): form.save(user=request.user) messages.success(request, _("Successfully created single result.")) return redirect('staff:semester_view', semester_id) else: return render(request, "staff_single_result_form.html", dict(semester=semester, form=form))
def store_in_database(self, vote_start_date, vote_end_date, semester): course = Course(name_de=self.name_de, name_en=self.name_en, type=self.type, is_graded=self.is_graded, vote_start_date=vote_start_date, vote_end_date=vote_end_date, semester=semester) course.save() responsible_dbobj = UserProfile.objects.get( email=self.responsible_email) course.contributions.create( contributor=responsible_dbobj, course=course, responsible=True, can_edit=True, comment_visibility=Contribution.ALL_COMMENTS) for degree_name in self.degree_names: course.degrees.add(Degree.objects.get(name_de=degree_name))
def store_in_database(self, vote_start_datetime, vote_end_date, semester): course_type = CourseType.objects.get(name_de=self.type_name) course = Course(name_de=self.name_de, name_en=self.name_en, type=course_type, is_graded=self.is_graded, vote_start_datetime=vote_start_datetime, vote_end_date=vote_end_date, semester=semester) course.save() # This is safe because the user's email address is checked before in the importer (see #953) responsible_dbobj = UserProfile.objects.get( email=self.responsible_email) course.contributions.create( contributor=responsible_dbobj, course=course, responsible=True, can_edit=True, comment_visibility=Contribution.ALL_COMMENTS) for degree_name in self.degree_names: course.degrees.add(Degree.objects.get(name_de=degree_name))