コード例 #1
0
ファイル: importers.py プロジェクト: PFischbeck/EvaP
 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,
     )
コード例 #2
0
ファイル: importers.py プロジェクト: ScrappyDieRaupe/EvaP
 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)
コード例 #3
0
ファイル: importers.py プロジェクト: cyroxx/EvaP
 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
コード例 #4
0
ファイル: importers.py プロジェクト: svenihde/EvaP
 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
コード例 #5
0
ファイル: importers.py プロジェクト: dietzi96/EvaP
 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))
コード例 #6
0
ファイル: importers.py プロジェクト: JenniferStamm/EvaP
 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)
コード例 #7
0
ファイル: importers.py プロジェクト: JenniferStamm/EvaP
 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))
コード例 #8
0
 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))
コード例 #9
0
ファイル: importers.py プロジェクト: frederike-ramin/EvaP
 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))
コード例 #10
0
ファイル: importers.py プロジェクト: fsr-itse/EvaP
 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)
コード例 #11
0
ファイル: tests.py プロジェクト: janno42/EvaP
    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))