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 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 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 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_date, vote_end_date, semester): course = Course( name_de=self.name_de, name_en=self.name_en, kind=self.kind, is_graded=self.is_graded, vote_start_date=vote_start_date, vote_end_date=vote_end_date, semester=semester, degree=self.degree, ) course.save() responsible_dbobj = UserProfile.objects.get(email=self.responsible_email) course.contributions.create(contributor=responsible_dbobj, course=course, responsible=True, can_edit=True)
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))
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))
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.GENERAL_TEXTANSWERS)
def test_grant_reward_points(self): """ submits several requests that trigger the reward point granting and checks that the reward point granting works as expected for the different requests. """ user = UserProfile.objects.get(pk=5) reward_points_before_end = reward_points_of_user(user) response = self.app.get(reverse("evap.student.views.vote", args=[9]), user="******") form = lastform(response) for key, value in form.fields.items(): if key is not None and "question" in key: form.set(key, 6) response = form.submit() self.assertRedirects(response, reverse('evap.student.views.index')) # semester is not activated --> number of reward points should not increase self.assertEqual(reward_points_before_end, reward_points_of_user(user)) # reset course for another try course = Course.objects.get(pk=9) course.voters = [] # activate semester activation = SemesterActivation.objects.get(semester=course.semester) activation.is_active = True activation.save() # create a new course new_course = Course(semester=course.semester, name_de="bhabda", name_en="dsdsfds") new_course.save() new_course.participants.add(user) new_course.save() response = form.submit() self.assertRedirects(response, reverse('evap.student.views.index')) # user also has other courses this semester --> number of reward points should not increase self.assertEqual(reward_points_before_end, reward_points_of_user(user)) course.voters = [] course.save() new_course.participants.remove(user) new_course.save() # last course of user so he may get reward points response = form.submit() self.assertRedirects(response, reverse('evap.student.views.index')) # if this test fails because of this assertion check that the user is allowed to receive reward points! self.assertEqual(reward_points_before_end + settings.REWARD_POINTS_PER_SEMESTER, reward_points_of_user(user)) # test behaviour if user already got reward points course.voters = [] course.save() response = form.submit() self.assertRedirects(response, reverse('evap.student.views.index')) self.assertEqual(reward_points_before_end + settings.REWARD_POINTS_PER_SEMESTER, reward_points_of_user(user))