コード例 #1
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)
コード例 #2
0
    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)
コード例 #3
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,
     )
コード例 #4
0
ファイル: views.py プロジェクト: lmm-git/EvaP
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))
コード例 #5
0
    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)
コード例 #6
0
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))
コード例 #7
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
コード例 #8
0
ファイル: views.py プロジェクト: lmm-git/EvaP
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))
コード例 #9
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))
コード例 #10
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))