def setUpTestData(cls):
     cls.manager = AdviserManagerFactory()
     a_person_teacher = PersonFactory(first_name='Pierre',
                                      last_name='Dupont')
     cls.teacher = AdviserTeacherFactory(person=a_person_teacher)
     a_person_student1 = PersonFactory(last_name="Durant", user=None)
     cls.student1 = StudentFactory(person=a_person_student1)
     a_person_student2 = PersonFactory(last_name="Robert", user=None)
     cls.student2 = StudentFactory(person=a_person_student2)
     cls.education_group1 = EducationGroupFactory()
     cls.current_academic_year = create_current_academic_year()
     cls.current_education_group_year = EducationGroupYearFactory(
         education_group=cls.education_group1,
         acronym="test_offer1",
         academic_year=cls.current_academic_year)
     cls.education_group2 = EducationGroupFactory()
     cls.education_group_year = EducationGroupYearFactory(
         education_group=cls.education_group2,
         academic_year=cls.current_academic_year)
     cls.academic_year2015 = AcademicYearFactory(year=2015)
     cls.education_group_year_2015 = EducationGroupYearFactory(
         acronym="test_offer1",
         education_group=cls.education_group1,
         academic_year=cls.academic_year2015)
     cls.offer_enrollment_curent_year = OfferEnrollmentFactory(
         student=cls.student1,
         education_group_year=cls.current_education_group_year,
         enrollment_state=offer_enrollment_state.SUBSCRIBED)
     cls.offer_enrollment2015 = OfferEnrollmentFactory(
         student=cls.student2,
         education_group_year=cls.education_group_year_2015,
         enrollment_state=offer_enrollment_state.SUBSCRIBED)
     cls.proposition_dissertation = PropositionDissertationFactory(
         author=cls.teacher,
         creator=a_person_teacher,
         title='Proposition de memoire')
     cls.dissertation_to_put_back_to_draft = DissertationFactory(
         author=cls.student1,
         education_group_year=cls.current_education_group_year,
         proposition_dissertation=cls.proposition_dissertation,
         status='DIR_SUBMIT',
         active=True,
         dissertation_role__adviser=cls.teacher,
         dissertation_role__status=dissertation_role_status.PROMOTEUR)
     cls.dissertation_test_count2015 = DissertationFactory(
         author=cls.student1,
         education_group_year=cls.education_group_year_2015,
         proposition_dissertation=cls.proposition_dissertation,
         status='COM_SUBMIT',
         active=True,
         dissertation_role__adviser=cls.teacher,
         dissertation_role__status=dissertation_role_status.PROMOTEUR)
     cls.dissertation_test_count2017 = DissertationFactory(
         author=cls.student2,
         education_group_year=cls.current_education_group_year,
         proposition_dissertation=cls.proposition_dissertation,
         status='COM_SUBMIT',
         active=True,
         dissertation_role__adviser=cls.teacher,
         dissertation_role__status=dissertation_role_status.PROMOTEUR)
Exemplo n.º 2
0
 def test_go_forward_status(self):
     self.dissertation = DissertationFactory(status=dissertation_status.DRAFT, active=True)
     self.dissertation.go_forward()
     self.assertEqual(dissertation_status.DIR_SUBMIT, self.dissertation.status)
     self.dissertation = DissertationFactory(status=dissertation_status.DIR_KO)
     self.dissertation.go_forward()
     self.assertEqual(dissertation_status.DIR_SUBMIT, self.dissertation.status)
     self.dissertation = DissertationFactory(status=dissertation_status.TO_RECEIVE)
     self.dissertation.go_forward()
     self.assertEqual(dissertation_status.TO_DEFEND, self.dissertation.status)
Exemplo n.º 3
0
    def test_count_by_proposition(self):
        self.prop_dissert = PropositionDissertationFactory()
        self.starting_academic_year = create_current_academic_year()
        self.dissertation_active = DissertationFactory(
            active=True,
            status=dissertation_status.COM_SUBMIT,
            proposition_dissertation=self.prop_dissert,
            education_group_year__academic_year=self.starting_academic_year
        )
        DissertationFactory(active=False, proposition_dissertation=self.prop_dissert)
        DissertationFactory(active=True, status=dissertation_status.DRAFT, proposition_dissertation=self.prop_dissert)
        DissertationFactory(active=True, status=dissertation_status.DIR_KO, proposition_dissertation=self.prop_dissert)

        self.assertEqual(dissertation.count_by_proposition(self.prop_dissert), 1)
Exemplo n.º 4
0
 def test_adviser_can_manage_dissertation(self):
     manager = AdviserManagerFactory()
     manager2 = AdviserManagerFactory()
     a_person_teacher = PersonFactory.create(first_name='Pierre', last_name='Dupont')
     a_person_teacher2 = PersonFactory.create(first_name='Marco', last_name='Millet')
     teacher = AdviserTeacherFactory(person=a_person_teacher)
     teacher2 = AdviserTeacherFactory(person=a_person_teacher2)
     a_person_student = PersonFactory.create(last_name="Durant", user=None)
     student = StudentFactory.create(person=a_person_student)
     offer_year_start = OfferYearFactory(academic_year=self.academic_year1, acronym="test_offer2")
     offer_year_start2 = OfferYearFactory(acronym="test_offer3", academic_year=offer_year_start.academic_year)
     offer = offer_year_start.offer
     offer2 = offer_year_start2.offer
     FacultyAdviserFactory(adviser=manager, offer=offer)
     create_faculty_adviser(manager, offer)
     create_faculty_adviser(manager2, offer2)
     proposition_dissertation = PropositionDissertationFactory(author=teacher,
                                                               creator=a_person_teacher,
                                                               title='Proposition1')
     dissertation = DissertationFactory(author=student,
                                        title='Dissertation 2017',
                                        offer_year_start=offer_year_start,
                                        proposition_dissertation=proposition_dissertation,
                                        status='DIR_SUBMIT',
                                        active=True,
                                        dissertation_role__adviser=teacher,
                                        dissertation_role__status='PROMOTEUR')
     self.assertEqual(adviser_can_manage(dissertation, manager), True)
     self.assertEqual(adviser_can_manage(dissertation, manager2), False)
     self.assertEqual(adviser_can_manage(dissertation, teacher), False)
 def test_email_new_dissert(self):
     self.dissertation_test_email = DissertationFactory(
         author=self.student,
         title='Dissertation_test_email',
         education_group_year=self.education_group_year1,
         proposition_dissertation=self.proposition_dissertation,
         status='DRAFT',
         active=True,
         dissertation_role__adviser=self.teacher,
         dissertation_role__status=dissertation_role_status.PROMOTEUR)
     self.client.force_login(self.manager.person.user)
     count_messages_before_status_change = len(
         message_history.find_my_messages(self.teacher.person.id))
     self.dissertation_test_email.go_forward()
     message_history_result = message_history.find_my_messages(
         self.teacher.person.id)
     self.assertEqual(count_messages_before_status_change + 1,
                      len(message_history_result))
     self.assertNotEqual(
         message_template.find_by_reference(
             'dissertation_adviser_new_project_dissertation_txt'), None)
     self.assertNotEqual(
         message_template.find_by_reference(
             'dissertation_adviser_new_project_dissertation_html'), None)
     self.assertIn('Vous avez reçu une demande d\'encadrement de mémoire',
                   message_history_result.last().subject)
    def setUpTestData(cls):
        cls.manager = AdviserManagerFactory()
        a_person_teacher = PersonFactory(first_name='Pierre', last_name='Dupont')
        cls.teacher = AdviserTeacherFactory(person=a_person_teacher)
        cls.person = PersonFactory()
        cls.manager2 = AdviserManagerFactory()
        a_person_student = PersonWithoutUserFactory(last_name="Durant")
        student = StudentFactory(person=a_person_student)
        offer_proposition = OfferPropositionFactory()
        cls.education_group_year = EducationGroupYearFactory(education_group=offer_proposition.education_group)
        FacultyAdviserFactory(adviser=cls.manager,
                              education_group=cls.education_group_year.education_group)
        roles = [dissertation_role_status.PROMOTEUR, dissertation_role_status.CO_PROMOTEUR,
                 dissertation_role_status.READER, dissertation_role_status.PROMOTEUR,
                 dissertation_role_status.ACCOMPANIST, dissertation_role_status.PRESIDENT]
        status = [dissertation_status.DRAFT, dissertation_status.COM_SUBMIT, dissertation_status.EVA_SUBMIT,
                  dissertation_status.TO_RECEIVE, dissertation_status.DIR_SUBMIT, dissertation_status.DIR_SUBMIT]
        for x in range(0, 6):
            proposition_dissertation = PropositionDissertationFactory(author=cls.teacher,
                                                                      creator=a_person_teacher,
                                                                      title='Proposition {}'.format(x)
                                                                      )
            PropositionOfferFactory(proposition_dissertation=proposition_dissertation,
                                    offer_proposition=offer_proposition)

            DissertationFactory(author=student,
                                title='Dissertation {}'.format(x),
                                education_group_year=cls.education_group_year,
                                proposition_dissertation=proposition_dissertation,
                                status=status[x],
                                active=True,
                                dissertation_role__adviser=cls.teacher,
                                dissertation_role__status=roles[x]
                                )
Exemplo n.º 7
0
 def test_email_dissert_commission_accept_3(self):
     dissert = DissertationFactory(
         author=self.student,
         title='Dissertation_test_email',
         offer_year_start=self.offer_year_start2,
         proposition_dissertation=self.proposition_dissertation,
         status='COM_SUBMIT',
         active=True,
         dissertation_role__adviser=self.teacher,
         dissertation_role__status='PROMOTEUR')
     count_message_history_result_author = \
         message_history.find_my_messages(dissert.author.person.id).count()
     count_message_history_result_promotor = \
         message_history.find_my_messages(self.teacher.person.id).count()
     dissert.manager_accept()
     message_history_result_author_after_change = message_history.find_my_messages(
         dissert.author.person.id)
     message_history_result_promotor_after_change = message_history.find_my_messages(
         self.teacher.person.id)
     self.assertEqual(count_message_history_result_author + 1,
                      len(message_history_result_author_after_change))
     self.assertEqual(count_message_history_result_promotor,
                      len(message_history_result_promotor_after_change))
     self.assertIn(
         'La commission Mémoires a accepté votre projet de mémoire',
         message_history_result_author_after_change.last().subject)
Exemplo n.º 8
0
 def setUp(self):
     self.maxDiff = None
     self.manager = AdviserManagerFactory()
     a_person_teacher = PersonFactory.create(
         first_name='Pierre',
         last_name='Dupont',
         email='*****@*****.**')
     self.teacher = AdviserTeacherFactory(person=a_person_teacher)
     a_person_teacher2 = PersonFactory.create(
         first_name='Marco',
         last_name='Millet',
         email='*****@*****.**')
     self.teacher2 = AdviserTeacherFactory(person=a_person_teacher2)
     self.teacher3 = AdviserTeacherFactory()
     self.teacher4 = AdviserTeacherFactory()
     a_person_student = PersonFactory.create(
         last_name="Durant",
         user=None,
         email='*****@*****.**')
     self.student = StudentFactory.create(person=a_person_student)
     self.offer1 = OfferFactory(title="test_offer1")
     self.offer2 = OfferFactory(title="test_offer2")
     self.academic_year1 = AcademicYearFactory()
     self.academic_year2 = AcademicYearFactory(
         year=self.academic_year1.year - 1)
     self.offer_year_start1 = OfferYearFactory(
         acronym="test_offer1",
         offer=self.offer1,
         academic_year=self.academic_year1)
     self.offer_year_start2 = OfferYearFactory(
         acronym="test_offer2",
         offer=self.offer2,
         academic_year=self.academic_year1)
     self.offer_proposition1 = OfferPropositionFactory(
         offer=self.offer1,
         global_email_to_commission=True,
         evaluation_first_year=True)
     self.offer_proposition2 = OfferPropositionFactory(
         offer=self.offer2, global_email_to_commission=False)
     self.proposition_dissertation = PropositionDissertationFactory(
         author=self.teacher,
         creator=a_person_teacher,
         title='Proposition 1212121')
     FacultyAdviserFactory(adviser=self.manager, offer=self.offer1)
     self.dissertation1 = DissertationFactory(
         author=self.student,
         title='Dissertation_test_email',
         offer_year_start=self.offer_year_start1,
         proposition_dissertation=self.proposition_dissertation,
         status='DIR_SUBMIT',
         active=True,
         dissertation_role__adviser=self.teacher,
         dissertation_role__status='PROMOTEUR')
     DissertationRoleFactory(adviser=self.teacher2,
                             status='CO_PROMOTEUR',
                             dissertation=self.dissertation1)
     DissertationRoleFactory(adviser=self.teacher3,
                             status='READER',
                             dissertation=self.dissertation1)
 def setUp(self):
     self.client.force_login(self.student.person.user)
     self.dissertation = DissertationFactory(
         author=self.student,
         title='Dissertation test',
         education_group_year=self.education_group_year1,
         proposition_dissertation=self.proposition_dissertation2,
         status='DIR_SUBMIT',
         active=True,
         dissertation_role__adviser=self.teacher,
         dissertation_role__status=dissertation_role_status.PROMOTEUR)
     self.dissertation_to_dir_submit = DissertationFactory(
         author=self.student_with_1_dissertation,
         status='DRAFT',
         active=True,
         dissertation_role__adviser=self.teacher,
         dissertation_role__status=dissertation_role_status.PROMOTEUR)
Exemplo n.º 10
0
 def test_manager_accept_not_commission_yes_eval(self):
     self.offer_prop2 = OfferPropositionFactory(education_group=self.education_group2,
                                                validation_commission_exists=False,
                                                evaluation_first_year=True)
     self.dissertation1 = DissertationFactory(status=dissertation_status.DIR_SUBMIT,
                                              education_group_year=self.education_group_year2)
     self.dissertation1.manager_accept()
     self.assertEqual(self.dissertation1.status, dissertation_status.EVA_SUBMIT)
Exemplo n.º 11
0
 def test_manager_accept_eval_KO(self):
     self.offer_prop2 = OfferPropositionFactory(education_group=self.education_group2,
                                                validation_commission_exists=False,
                                                evaluation_first_year=True)
     self.dissertation1 = DissertationFactory(status=dissertation_status.EVA_KO,
                                              education_group_year=self.education_group_year2, )
     self.dissertation1.manager_accept()
     self.assertEqual(self.dissertation1.status, dissertation_status.TO_RECEIVE)
Exemplo n.º 12
0
    def setUpTestData(cls):
        a_person_teacher = PersonFactory(
            first_name='Pierre',
            last_name='Dupont'
        )
        cls.teacher = AdviserTeacherFactory(person=a_person_teacher)
        a_person_student = PersonWithoutUserFactory(
            last_name="Durant",
            first_name='jean'
        )
        cls.student = StudentFactory(person=a_person_student)
        cls.education_group = EducationGroupFactory()
        cls.education_group2 = EducationGroupFactory()
        cls.offer_prop = OfferPropositionFactory(education_group=cls.education_group,
                                                 acronym="test_offer1",
                                                 validation_commission_exists=True)
        cls.proposition_dissertation = PropositionDissertationFactory(author=cls.teacher,
                                                                      title='proposition_x',
                                                                      creator=a_person_teacher)

        cls.academic_year1 = AcademicYearFactory()
        cls.education_group_year = EducationGroupYearFactory(acronym="test_offer1",
                                                             education_group=cls.education_group,
                                                             academic_year=cls.academic_year1)
        cls.education_group_year2 = EducationGroupYearFactory(acronym="test_offer11",
                                                              education_group=cls.education_group2,
                                                              academic_year=cls.academic_year1)
        cls.dissertation_test_email = DissertationFactory(author=cls.student,
                                                          title='Dissertation_test_email',
                                                          education_group_year=cls.education_group_year,
                                                          proposition_dissertation=cls.proposition_dissertation,
                                                          status=dissertation_status.DRAFT,
                                                          active=True,
                                                          dissertation_role__adviser=cls.teacher,
                                                          dissertation_role__status='PROMOTEUR')
        cls.dissertation = DissertationFactory(author=cls.student,
                                               title='Dissertation_1',
                                               education_group_year=cls.education_group_year,
                                               proposition_dissertation=cls.proposition_dissertation,
                                               status=dissertation_status.DIR_SUBMIT,
                                               active=True,
                                               description='les phobies',
                                               dissertation_role__adviser=cls.teacher,
                                               dissertation_role__status='PROMOTEUR')
Exemplo n.º 13
0
 def test_get_next_status_accept_1(self):
     self.offer_prop2 = OfferPropositionFactory(
         education_group=self.education_group2,
         validation_commission_exists=True,
         evaluation_first_year=True
     )
     self.dissertation_x = DissertationFactory(status=dissertation_status.DIR_SUBMIT,
                                               education_group_year=self.education_group_year2)
     self.assertEqual(dissertation.get_next_status(self.dissertation_x, "accept"),
                      dissertation_status.COM_SUBMIT)
 def setUpTestData(cls):
     cls.manager = AdviserManagerFactory()
     cls.proposition = PropositionDissertationFactory()
     cls.dissertation = DissertationFactory(
         proposition_dissertation=cls.proposition)
     cls.proposition_offer = PropositionOfferFactory(
         proposition_dissertation=cls.proposition)
     FacultyAdviserFactory(adviser=cls.manager,
                           education_group=cls.proposition_offer.
                           offer_proposition.education_group)
 def setUpTestData(cls):
     cls.offer_proposition_with_good_dates = OfferPropositionFactory()
     cls.education_group_with_offer_proposition = EducationGroupFactory()
     cls.offer_proposition_group = OfferPropositionGroupFactory()
     cls.offer_proposition = OfferPropositionFactory(
         education_group=cls.education_group_with_offer_proposition,
         offer_proposition_group=cls.offer_proposition_group)
     cls.education_group_year = EducationGroupYearFactory(
         education_group=cls.education_group_with_offer_proposition)
     cls.dissertation = DissertationFactory(
         education_group_year=cls.education_group_year)
Exemplo n.º 16
0
 def setUpTestData(cls):
     cls.person_manager = PersonFactory()
     cls.person_manager2 = PersonFactory()
     cls.manager = AdviserManagerFactory(person=cls.person_manager)
     cls.manager2 = AdviserManagerFactory(person=cls.person_manager2)
     cls.a_person_teacher = PersonFactory(first_name='Pierre',
                                          last_name='Dupont')
     cls.teacher = AdviserTeacherFactory(person=cls.a_person_teacher)
     cls.a_person_teacher2 = PersonFactory(first_name='Marco',
                                           last_name='Millet')
     cls.teacher2 = AdviserTeacherFactory(person=cls.a_person_teacher2)
     cls.teacher3 = AdviserTeacherFactory()
     cls.teacher4 = AdviserTeacherFactory()
     a_person_student = PersonWithoutUserFactory(last_name="Durant")
     cls.student = StudentFactory(person=a_person_student)
     cls.offer1 = EducationGroupFactory()
     cls.offer2 = EducationGroupFactory()
     cls.academic_year1 = AcademicYearFactory()
     cls.academic_year2 = AcademicYearFactory(year=cls.academic_year1.year -
                                              1)
     cls.education_group_year1 = EducationGroupYearFactory(
         acronym="test_offer1",
         education_group=cls.offer1,
         academic_year=cls.academic_year1)
     cls.offer_proposition1 = OfferPropositionFactory(
         education_group=cls.offer1,
         global_email_to_commission=True,
         evaluation_first_year=True)
     cls.offer_proposition2 = OfferPropositionFactory(
         education_group=cls.offer2, global_email_to_commission=False)
     cls.proposition_dissertation = PropositionDissertationFactory(
         author=cls.teacher,
         creator=cls.a_person_teacher,
         title='Proposition 1212121')
     cls.faculty_adviser1 = FacultyAdviserFactory(
         adviser=cls.manager, education_group=cls.offer1)
     cls.faculty_adviser2 = FacultyAdviserFactory(
         adviser=cls.manager, education_group=cls.offer2)
     cls.dissertation1 = DissertationFactory(
         author=cls.student,
         title='Dissertation_test_email',
         education_group_year=cls.education_group_year1,
         proposition_dissertation=cls.proposition_dissertation,
         status='DIR_SUBMIT',
         active=True,
         dissertation_role__adviser=cls.teacher,
         dissertation_role__status='PROMOTEUR')
     DissertationRoleFactory(adviser=cls.teacher2,
                             status='CO_PROMOTEUR',
                             dissertation=cls.dissertation1)
     DissertationRoleFactory(adviser=cls.teacher3,
                             status='READER',
                             dissertation=cls.dissertation1)
Exemplo n.º 17
0
 def test_refuse_DIR_SUBMIT(self):
     count_messages_before_status_change = message_history.find_my_messages(self.student.person.id).count()
     self.offer_prop2 = OfferPropositionFactory(education_group=self.education_group2, )
     self.dissertation1 = DissertationFactory(status=dissertation_status.DIR_SUBMIT,
                                              education_group_year=self.education_group_year2,
                                              author=self.student)
     self.dissertation1.refuse()
     message_history_result = message_history.find_my_messages(self.student.person.id)
     self.assertEqual(count_messages_before_status_change + 1, len(message_history_result))
     self.assertEqual(self.dissertation1.status, dissertation_status.DIR_KO)
     self.assertIn('Votre projet de mémoire n\'a pas été validé par votre promoteur',
                   message_history_result.last().subject)
Exemplo n.º 18
0
 def test_get_next_status_refuse(self):
     self.dissertation_a = DissertationFactory(status=dissertation_status.DIR_SUBMIT)
     self.assertEqual(dissertation.get_next_status(self.dissertation_a, "refuse"), dissertation_status.DIR_KO)
     self.dissertation_a.status = dissertation_status.COM_SUBMIT
     self.assertEqual(dissertation.get_next_status(self.dissertation_a, "refuse"), dissertation_status.COM_KO)
     self.dissertation_a.status = dissertation_status.EVA_SUBMIT
     self.assertEqual(dissertation.get_next_status(self.dissertation_a, "refuse"), dissertation_status.EVA_KO)
     self.dissertation_a.status = dissertation_status.DEFENDED
     self.assertEqual(dissertation.get_next_status(self.dissertation_a, "refuse"), dissertation_status.ENDED_LOS)
     self.dissertation_a.status = dissertation_status.DRAFT
     self.assertEqual(dissertation.get_next_status(self.dissertation_a, "refuse"), dissertation_status.DRAFT)
     self.dissertation_a.status = dissertation_status.TO_DEFEND
     self.assertEqual(dissertation.get_next_status(self.dissertation_a, "refuse"), dissertation_status.TO_DEFEND)
Exemplo n.º 19
0
    def test_get_next_status_accept_3(self):
        self.offer_prop2 = OfferPropositionFactory(education_group=self.education_group2,
                                                   validation_commission_exists=False,
                                                   evaluation_first_year=True)
        self.dissertation_x = DissertationFactory(status=dissertation_status.EVA_SUBMIT,
                                                  education_group_year=self.education_group_year2)
        self.assertEqual(dissertation.get_next_status(self.dissertation_x, "accept"),
                         dissertation_status.TO_RECEIVE)
        self.dissertation_x.status = dissertation_status.DEFENDED
        self.assertEqual(dissertation.get_next_status(self.dissertation_x, "accept"), dissertation_status.ENDED_WIN)

        self.dissertation_x.status = dissertation_status.DIR_SUBMIT
        self.assertEqual(dissertation.get_next_status(self.dissertation_x, "accept"), dissertation_status.EVA_SUBMIT)
Exemplo n.º 20
0
 def test_teacher_accept_1(self):
     count_messages_before_status_change = message_history.find_my_messages(self.student.person.id).count()
     self.offer_prop2 = OfferPropositionFactory(education_group=self.education_group2,
                                                validation_commission_exists=True,
                                                evaluation_first_year=True)
     self.dissertation1 = DissertationFactory(status=dissertation_status.DIR_SUBMIT,
                                              education_group_year=self.education_group_year2,
                                              author=self.student)
     self.dissertation1.teacher_accept()
     message_history_result = message_history.find_my_messages(self.student.person.id)
     self.assertEqual(count_messages_before_status_change + 1, len(message_history_result))
     self.assertEqual(self.dissertation1.status, dissertation_status.COM_SUBMIT)
     self.assertIn('Votre projet de mémoire est validé par votre promoteur', message_history_result.last().subject)
    def setUp(self):

        self.manager = AdviserManagerFactory()
        self.education_group = EducationGroupFactory()
        self.academic_year = create_current_academic_year()
        self.education_group_year = EducationGroupYearFactory(
            education_group=self.education_group,
            academic_year=self.academic_year)
        self.faculty_adviser = FacultyAdviserFactory(
            adviser=self.manager, education_group=self.education_group)
        self.dissertation = DissertationFactory(
            education_group_year=self.education_group_year)
        self.dissertation_document = DissertationDocumentFileFactory(
            dissertation=self.dissertation)
Exemplo n.º 22
0
 def test_refuse_COM_SUBMIT(self):
     count_messages_before_status_change = message_history.find_my_messages(self.student.person.id).count()
     self.offer_prop2 = OfferPropositionFactory(education_group=self.education_group2,
                                                validation_commission_exists=True,
                                                evaluation_first_year=True)
     self.dissertation1 = DissertationFactory(status=dissertation_status.COM_SUBMIT,
                                              education_group_year=self.education_group_year2,
                                              author=self.student)
     self.dissertation1.refuse()
     message_history_result = message_history.find_my_messages(self.student.person.id)
     self.assertEqual(count_messages_before_status_change + 1, len(message_history_result))
     self.assertEqual(self.dissertation1.status, dissertation_status.COM_KO)
     self.assertIn('n\'a pas validé',
                   message_history_result.last().subject)
Exemplo n.º 23
0
    def setUp(self):
        self.maxDiff = None
        self.manager = AdviserManagerFactory()
        a_person_teacher = PersonFactory.create(first_name='Pierre', last_name='Dupont')
        self.teacher = AdviserTeacherFactory(person=a_person_teacher)
        a_person_teacher2 = PersonFactory.create(first_name='Marco', last_name='Millet')
        self.teacher2 = AdviserTeacherFactory(person=a_person_teacher2)
        a_person_student = PersonFactory.create(last_name="Durant", user=None)
        student = StudentFactory.create(person=a_person_student)
        self.offer1 = OfferFactory(title="test_offer1")
        self.offer2 = OfferFactory(title="test_offer2")
        self.academic_year1 = AcademicYearFactory()
        self.academic_year2 = AcademicYearFactory(year=self.academic_year1.year-1)
        self.offer_year_start1 = OfferYearFactory(acronym="test_offer1", offer=self.offer1,
                                             academic_year=self.academic_year1)
        offer_year_start2 = OfferYearFactory(academic_year=self.academic_year2, acronym="test_offer2", offer=self.offer1)
        self.offer_proposition1 = OfferPropositionFactory(offer=self.offer1)
        self.offer_proposition2 = OfferPropositionFactory(offer=self.offer2)
        FacultyAdviserFactory(adviser=self.manager, offer=self.offer1)
        self.manager2 = AdviserManagerFactory()
        FacultyAdviserFactory(adviser=self.manager, offer=self.offer2)
        roles = ['PROMOTEUR', 'CO_PROMOTEUR', 'READER', 'PROMOTEUR', 'ACCOMPANIST', 'PRESIDENT']
        status = ['DRAFT', 'COM_SUBMIT', 'EVA_SUBMIT', 'TO_RECEIVE', 'DIR_SUBMIT', 'DIR_SUBMIT']
        self.dissertations_list = list()
        for x in range(0, 6):
            proposition_dissertation = PropositionDissertationFactory(author=self.teacher,
                                                                      creator=a_person_teacher,
                                                                      title='Proposition {}'.format(x)
                                                                      )
            PropositionOfferFactory(proposition_dissertation=proposition_dissertation,
                                    offer_proposition=self.offer_proposition1)

            self.dissertations_list.append(DissertationFactory(author=student,
                                title='Dissertation {}'.format(x),
                                offer_year_start=self.offer_year_start1,
                                proposition_dissertation=proposition_dissertation,
                                status=status[x],
                                active=True,
                                dissertation_role__adviser=self.teacher,
                                dissertation_role__status=roles[x]
                                ))
        self.dissertation_1 = DissertationFactory\
            (author=student,
            title='Dissertation 2017',
            offer_year_start=self.offer_year_start1,
            proposition_dissertation=proposition_dissertation,
            status='COM_SUBMIT',
            active=True,
            dissertation_role__adviser=self.teacher2,
            dissertation_role__status='PROMOTEUR')
Exemplo n.º 24
0
 def setUpTestData(cls):
     cls.person_manager = PersonFactory()
     cls.person_no_manager = PersonFactory()
     cls.person_manager2 = PersonFactory()
     cls.manager = AdviserManagerFactory(person=cls.person_manager)
     cls.manager2 = AdviserManagerFactory(person=cls.person_manager2)
     cls.a_person_teacher = PersonFactory()
     cls.teacher = AdviserTeacherFactory(person=cls.a_person_teacher)
     cls.teacher2 = AdviserTeacherFactory()
     cls.teacher3 = AdviserTeacherFactory()
     cls.a_person_student = PersonWithoutUserFactory()
     cls.student = StudentFactory(person=cls.a_person_student)
     cls.education_group = EducationGroupFactory()
     cls.education_group2 = EducationGroupFactory()
     cls.academic_year1 = AcademicYearFactory()
     cls.education_group_year = EducationGroupYearFactory(
         acronym="test_offer1",
         title="test_offer1",
         education_group=cls.education_group,
         academic_year=cls.academic_year1
     )
     cls.faculty_adviser1 = FacultyAdviserFactory(
         adviser=cls.manager,
         education_group=cls.education_group
     )
     cls.faculty_adviser2 = FacultyAdviserFactory(
         adviser=cls.manager2,
         education_group=cls.education_group2
     )
     cls.proposition_dissertation = PropositionDissertationFactory(author=cls.teacher,
                                                                   creator=cls.teacher3.person)
     cls.offer_propo = OfferPropositionFactory(education_group=cls.education_group)
     cls.proposition_offer = PropositionOfferFactory(
         proposition_dissertation=cls.proposition_dissertation,
         offer_proposition=cls.offer_propo
     )
     cls.dissertation1 = DissertationFactory(
         author=cls.student,
         education_group_year=cls.education_group_year,
         proposition_dissertation=cls.proposition_dissertation,
         status='DIR_SUBMIT',
         active=True,
         dissertation_role__adviser=cls.teacher,
         dissertation_role__status=dissertation_role_status.PROMOTEUR
     )
     cls.dissertation_role = DissertationRoleFactory(
         adviser=cls.teacher3,
         status=dissertation_role_status.READER,
         dissertation=cls.dissertation1
     )
Exemplo n.º 25
0
 def test_get_next_status_goforward(self):
     self.dissertation_x = DissertationFactory(status=dissertation_status.DRAFT, active=True)
     self.assertEqual(dissertation.get_next_status(self.dissertation_x, "go_forward"),
                      dissertation_status.DIR_SUBMIT)
     self.dissertation_x.status = dissertation_status.DIR_KO
     self.assertEqual(dissertation.get_next_status(self.dissertation_x, "go_forward"),
                      dissertation_status.DIR_SUBMIT)
     self.dissertation_x.status = dissertation_status.TO_RECEIVE
     self.assertEqual(dissertation.get_next_status(self.dissertation_x, "go_forward"),
                      dissertation_status.TO_DEFEND)
     self.dissertation_x.status = dissertation_status.TO_DEFEND
     self.assertEqual(dissertation.get_next_status(self.dissertation_x, "go_forward"),
                      dissertation_status.DEFENDED)
     self.dissertation_x.status = dissertation_status.DIR_SUBMIT
     self.assertEqual(dissertation.get_next_status(self.dissertation_x, "go_forward"),
                      dissertation_status.DIR_SUBMIT)
Exemplo n.º 26
0
 def test_new_status_display(self):
     self.education_group2 = EducationGroupFactory()
     self.offer_prop2 = OfferPropositionFactory(
         education_group=self.education_group2,
         validation_commission_exists=False,
         evaluation_first_year=False)
     self.education_group_year2 = EducationGroupYearFactory(
         education_group=self.education_group2,
         academic_year=self.academic_year1)
     self.dissertation_x = DissertationFactory(
         status=dissertation_status.DIR_SUBMIT,
         education_group_year=self.education_group_year2,
     )
     self.dissertation_x.status = dissertation_status.DIR_SUBMIT
     self.assertEqual(new_status_display(self.dissertation_x, "accept"),
                      _('To be received'))
Exemplo n.º 27
0
 def setUpTestData(cls):
     cls.maxDiff = None
     cls.manager = AdviserManagerFactory()
     a_person_teacher = PersonFactory.create(first_name='Pierre',
                                             last_name='Dupont',
                                             email='*****@*****.**')
     cls.teacher = AdviserTeacherFactory(person=a_person_teacher)
     a_person_teacher2 = PersonFactory.create(first_name='Marco',
                                              last_name='Millet',
                                              email='*****@*****.**')
     cls.teacher2 = AdviserTeacherFactory(person=a_person_teacher2)
     a_person_student = PersonWithoutUserFactory.create(
         last_name="Durant", email='*****@*****.**')
     cls.student = StudentFactory.create(person=a_person_student)
     cls.education_group_1 = EducationGroupFactory()
     cls.academic_year1 = AcademicYearFactory()
     cls.education_group_year_1 = EducationGroupYearFactory(
         acronym="test_offer1",
         education_group=cls.education_group_1,
         academic_year=cls.academic_year1,
         title="test_offer1")
     cls.offer_proposition1 = OfferPropositionFactory(
         education_group=cls.education_group_1,
         global_email_to_commission=True)
     cls.proposition_dissertation = PropositionDissertationFactory(
         author=cls.teacher,
         creator=a_person_teacher,
         title='Proposition 1212121')
     FacultyAdviserFactory(adviser=cls.manager,
                           education_group=cls.education_group_1)
     cls.dissertation_1 = DissertationFactory(
         author=cls.student,
         title='Dissertation_test_email',
         education_group_year=cls.education_group_year_1,
         proposition_dissertation=cls.proposition_dissertation,
         status='DRAFT',
         active=True,
         dissertation_role__adviser=cls.teacher,
         dissertation_role__status='PROMOTEUR')
     FacultyAdviserFactory(adviser=cls.manager,
                           education_group=cls.education_group_1)
     cls.dissert_role = DissertationRoleFactory(
         dissertation=cls.dissertation_1,
         adviser=cls.teacher2,
         status='READER')
Exemplo n.º 28
0
    def setUp(self):
        self.manager = AdviserManagerFactory()
        a_person_teacher = PersonFactory(first_name='Pierre',
                                         last_name='Dupont')
        self.teacher = AdviserTeacherFactory(person=a_person_teacher)
        a_person_student = PersonFactory(last_name="Durant", user=None)
        student = StudentFactory(person=a_person_student)

        offer_year_start = OfferYearFactory(acronym="test_offer")
        offer = offer_year_start.offer
        offer_proposition = OfferPropositionFactory(offer=offer)
        FacultyAdviserFactory(adviser=self.manager, offer=offer)

        roles = [
            'PROMOTEUR', 'CO_PROMOTEUR', 'READER', 'PROMOTEUR', 'ACCOMPANIST',
            'PRESIDENT'
        ]
        status = [
            'DRAFT', 'COM_SUBMIT', 'EVA_SUBMIT', 'TO_RECEIVE', 'DIR_SUBMIT',
            'DIR_SUBMIT'
        ]

        for x in range(0, 6):
            proposition_dissertation = PropositionDissertationFactory(
                author=self.teacher,
                creator=a_person_teacher,
                title='Proposition {}'.format(x))
            PropositionOfferFactory(
                proposition_dissertation=proposition_dissertation,
                offer_proposition=offer_proposition)

            DissertationFactory(
                author=student,
                title='Dissertation {}'.format(x),
                offer_year_start=offer_year_start,
                proposition_dissertation=proposition_dissertation,
                status=status[x],
                active=True,
                dissertation_role__adviser=self.teacher,
                dissertation_role__status=roles[x])
Exemplo n.º 29
0
 def test_deactivate(self):
     self.dissertation = DissertationFactory(active=True)
     self.dissertation.deactivate()
     self.assertEqual(self.dissertation.active, False)
Exemplo n.º 30
0
    def setUpTestData(cls):
        cls.maxDiff = None
        cls.manager = AdviserManagerFactory()
        a_person_teacher = PersonFactory.create(
            first_name='Pierre',
            last_name='Dupont',
            email='*****@*****.**')
        cls.teacher = AdviserTeacherFactory(person=a_person_teacher)
        a_person_teacher2 = PersonFactory.create(
            first_name='Marco',
            last_name='Millet',
            email='*****@*****.**')
        cls.teacher2 = AdviserTeacherFactory(person=a_person_teacher2)
        a_person_student = PersonWithoutUserFactory.create(
            last_name="Durant", email='*****@*****.**')
        cls.student = StudentFactory.create(person=a_person_student)
        cls.education_group = EducationGroupFactory()
        cls.education_group3 = EducationGroupFactory()
        cls.academic_year1 = create_current_academic_year()
        cls.academic_year2 = AcademicYearFactory(year=cls.academic_year1.year -
                                                 1)
        cls.education_group_year = EducationGroupYearFactory(
            academic_year=cls.academic_year1,
            education_group=cls.education_group,
            acronym="test_offer1")
        cls.faculty_manager = FacultyAdviserFactory(
            adviser=cls.manager, education_group=cls.education_group)
        cls.offer_proposition1 = OfferPropositionFactory(
            global_email_to_commission=True,
            evaluation_first_year=True,
            education_group=cls.education_group_year.education_group)
        cls.offer_proposition2 = OfferPropositionFactory(
            education_group=cls.education_group3,
            global_email_to_commission=False)
        cls.education_group_year2 = EducationGroupYearFactory(
            acronym="test_offer2",
            education_group=cls.offer_proposition2.education_group,
            academic_year=cls.academic_year1)
        cls.proposition_dissertation = PropositionDissertationFactory(
            author=cls.teacher,
            creator=a_person_teacher,
            title='Proposition 1212121')
        cls.dissertation_test_email = DissertationFactory(
            author=cls.student,
            title='Dissertation_test_email',
            proposition_dissertation=cls.proposition_dissertation,
            status='DRAFT',
            active=True,
            dissertation_role__adviser=cls.teacher,
            dissertation_role__status='PROMOTEUR',
            education_group_year=cls.education_group_year,
        )

        FacultyAdviserFactory(
            adviser=cls.manager,
            education_group=cls.education_group_year.education_group)
        cls.manager2 = AdviserManagerFactory()
        FacultyAdviserFactory(
            adviser=cls.manager,
            education_group=cls.education_group_year2.education_group)
        FacultyAdviserFactory(
            adviser=cls.manager,
            education_group=cls.education_group_year.education_group)
        roles = [
            'PROMOTEUR', 'CO_PROMOTEUR', 'READER', 'PROMOTEUR', 'ACCOMPANIST',
            'PRESIDENT'
        ]
        status = [
            'DRAFT', 'COM_SUBMIT', 'EVA_SUBMIT', 'TO_RECEIVE', 'DIR_SUBMIT',
            'DIR_SUBMIT'
        ]
        cls.dissertations_list = list()
        for x in range(0, 6):
            proposition_dissertation = PropositionDissertationFactory(
                author=cls.teacher,
                creator=a_person_teacher,
                title='Proposition {}'.format(x))
            PropositionOfferFactory(
                proposition_dissertation=proposition_dissertation,
                offer_proposition=cls.offer_proposition1)

            cls.dissertations_list.append(
                DissertationFactory(
                    author=cls.student,
                    title='Dissertation {}'.format(x),
                    education_group_year=cls.education_group_year,
                    proposition_dissertation=proposition_dissertation,
                    status=status[x],
                    active=True,
                    dissertation_role__adviser=cls.teacher,
                    dissertation_role__status=roles[x]))
        cls.dissertation_1 = DissertationFactory(
            author=cls.student,
            title='Dissertation 2017',
            education_group_year=cls.education_group_year,
            proposition_dissertation=cls.proposition_dissertation,
            status='COM_SUBMIT',
            active=True,
            dissertation_role__adviser=cls.teacher2,
            dissertation_role__status='PROMOTEUR')
        cls.url = reverse('manager_dissertations_search')