コード例 #1
0
    def setUpTestData(cls):
        cls.settings = SettingsFactory()

        cls.previous_academic_year, cls.current_academic_year, _ = AcademicYearFactory.produce(
        )
        cls.phd_supervisor = PersonFactory()
        cls.assistant = AcademicAssistantFactory(supervisor=cls.phd_supervisor)
        cls.assistant_mandate = AssistantMandateFactory(
            academic_year=cls.current_academic_year,
            assistant=cls.assistant,
            state=assistant_mandate_state.PHD_SUPERVISOR)
        cls.assistant2 = AcademicAssistantFactory(supervisor=None)
        cls.assistant_mandate2 = AssistantMandateFactory(
            academic_year=cls.current_academic_year,
            assistant=cls.assistant2,
            state=assistant_mandate_state.RESEARCH,
        )
        cls.review = ReviewFactory(reviewer=None,
                                   mandate=cls.assistant_mandate,
                                   status=review_status.IN_PROGRESS)
        cls.entity_version = EntityVersionFactory(
            entity_type=entity_type.INSTITUTE, end_date=None)
        cls.mandate_entity = MandateEntityFactory(
            assistant_mandate=cls.assistant_mandate,
            entity=cls.entity_version.entity)
        cls.mandate_entity2 = MandateEntityFactory(
            assistant_mandate=cls.assistant_mandate2,
            entity=cls.entity_version.entity)

        cls.reviewer = ReviewerFactory(role=reviewer_role.RESEARCH,
                                       entity=cls.entity_version.entity,
                                       person=cls.phd_supervisor)
コード例 #2
0
    def setUp(self):
        self.factory = RequestFactory()
        self.client = Client()
        self.manager = ManagerFactory()
        self.settings = SettingsFactory()
        self.client.force_login(self.manager.person.user)
        self.assistant = AcademicAssistantFactory()
        self.assistant_mandate = AssistantMandateFactory(
            state=assistant_mandate_state.TRTS,
            assistant=self.assistant,
            assistant_type=assistant_type.ASSISTANT)
        self.assistant2 = AcademicAssistantFactory()
        self.assistant_mandate2 = AssistantMandateFactory(
            state=assistant_mandate_state.SUPERVISION,
            assistant=self.assistant2,
            assistant_type=assistant_type.TEACHING_ASSISTANT)
        self.entity1 = EntityFactory()
        self.entity_version1 = EntityVersionFactory(
            entity=self.entity1, entity_type=entity_type.SECTOR)
        self.entity2 = EntityFactory()
        self.entity_version2 = EntityVersionFactory(
            entity=self.entity2, entity_type=entity_type.FACULTY)
        self.entity3 = EntityFactory()
        self.entity_version3 = EntityVersionFactory(
            entity=self.entity3, entity_type=entity_type.INSTITUTE)
        self.entity4 = EntityFactory()
        self.entity_version4 = EntityVersionFactory(
            entity=self.entity4,
            parent=self.entity2,
            entity_type=entity_type.SCHOOL)

        self.mandate_entity1 = MandateEntityFactory(
            assistant_mandate=self.assistant_mandate, entity=self.entity1)
        self.mandate_entity2 = MandateEntityFactory(
            assistant_mandate=self.assistant_mandate, entity=self.entity2)
        self.mandate_entity3 = MandateEntityFactory(
            assistant_mandate=self.assistant_mandate, entity=self.entity3)

        self.mandate_entity4 = MandateEntityFactory(
            assistant_mandate=self.assistant_mandate2, entity=self.entity1)
        self.mandate_entity5 = MandateEntityFactory(
            assistant_mandate=self.assistant_mandate2, entity=self.entity2)

        self.reviewer1 = ReviewerFactory(entity=self.entity3,
                                         role=reviewer_role.RESEARCH)
        self.reviewer2 = ReviewerFactory(entity=self.entity2,
                                         role=reviewer_role.SUPERVISION)
        self.reviewer3 = ReviewerFactory(entity=self.entity1,
                                         role=reviewer_role.VICE_RECTOR)
        self.reviewer4 = ReviewerFactory(entity=None,
                                         role=reviewer_role.PHD_SUPERVISOR)
コード例 #3
0
 def setUp(self):
     self.client = Client()
     self.request = self.client.post('/assistants/manager/mandates/upload/')
     self.request._messages = FakeMessages()
     self.manager = ManagerFactory()
     self.client.force_login(self.manager.person.user)
     self.request.user = self.manager.person.user
     now = timezone.now()
     AcademicYearFactory.produce_in_past()
     self.previous_academic_year = academic_year.find_academic_year_by_year(now.year - 2)
     self.person1 = PersonFactory(global_id='00201968')
     self.assistant1 = AcademicAssistantFactory(person=self.person1)
     self.record1 = {
         'SECTOR': 'SST', 'LOGISTICS_ENTITY': 'None', 'FACULTY': 'SC', 'SCHOOL': 'CHIM', 'INSTITUTE': 'IMCN',
         'POLE': 'MOST', 'SAP_ID': '1122199', 'GLOBAL_ID': '1122199', 'LAST_NAME': self.assistant1.person.last_name,
         'FIRST_NAME': self.assistant1.person.first_name, 'FULLTIME_EQUIVALENT': '1', 'ENTRY_DATE': '01/02/2015',
         'END_DATE': '03-10-2017', 'ASSISTANT_TYPE_CODE': 'ST', 'SCALE': '021', 'CONTRACT_DURATION': '4',
         'CONTRACT_DURATION_FTE': '4', 'RENEWAL_TYPE': 'NORMAL', 'ABSENCES': None, 'COMMENT': None,
         'OTHER_STATUS': None, 'EMAIL': None, 'FGS': '00201968'
     }
     self.person2 = PersonFactory(global_id='00201979')
     self.assistant2 = AcademicAssistantFactory()
     self.record2 = {
         'SECTOR': 'SST', 'LOGISTICS_ENTITY': 'None', 'FACULTY': 'SC', 'SCHOOL': 'CHIM', 'INSTITUTE': 'IMCN',
         'POLE': 'MOST', 'SAP_ID': '1122199', 'GLOBAL_ID': '1122199', 'LAST_NAME': self.person2.last_name,
         'FIRST_NAME': self.person2.first_name, 'FULLTIME_EQUIVALENT': '1', 'ENTRY_DATE': '01/02/2015',
         'END_DATE': '03-10-2017', 'ASSISTANT_TYPE_CODE': 'AS', 'SCALE': '021', 'CONTRACT_DURATION': '4',
         'CONTRACT_DURATION_FTE': '4', 'RENEWAL_TYPE': 'exceptional', 'ABSENCES': None, 'COMMENT': None,
         'OTHER_STATUS': None, 'EMAIL': None, 'FGS': '00201979'
     }
     self.assistant3 = AcademicAssistantFactory()
     self.record3 = {
         'SECTOR': 'SST', 'LOGISTICS_ENTITY': 'None', 'FACULTY': 'SC', 'SCHOOL': 'CHIM', 'INSTITUTE': 'IMCN',
         'POLE': 'MOST', 'SAP_ID': '1122599', 'GLOBAL_ID': '1322199', 'LAST_NAME': 'last_name',
         'FIRST_NAME': 'first_name', 'FULLTIME_EQUIVALENT': '1', 'ENTRY_DATE': '01/02/2015',
         'END_DATE': '03-10-2017', 'ASSISTANT_TYPE_CODE': 'AS', 'SCALE': '021', 'CONTRACT_DURATION': '4',
         'CONTRACT_DURATION_FTE': '4', 'RENEWAL_TYPE': 'SPECIAL', 'ABSENCES': None, 'COMMENT': None,
         'OTHER_STATUS': None, 'EMAIL': None, 'FGS': None
     }
     self.entity_version1 = EntityVersionFactory(entity_type=entity_type.SECTOR,
                                                 acronym='SST',
                                                 title='Secteur des Sciences et Technologies',
                                                 end_date=datetime.datetime(datetime.date.today().year + 1, 9, 14))
     self.entity_version2 = EntityVersionFactory(entity_type=entity_type.SECTOR,
                                                 acronym='SSH',
                                                 end_date=datetime.datetime(datetime.date.today().year + 1, 9, 14))
     self.assistant_mandate1 = AssistantMandateFactory(
         assistant=self.assistant1
     )
コード例 #4
0
    def setUpTestData(cls):
        cls.manager = ManagerFactory()
        cls.settings = SettingsFactory()
        cls.assistant = AcademicAssistantFactory()
        cls.assistant_mandate = AssistantMandateFactory(
            state=assistant_mandate_state.TRTS,
            assistant=cls.assistant,
            assistant_type=assistant_type.ASSISTANT)
        cls.assistant2 = AcademicAssistantFactory()
        cls.assistant_mandate2 = AssistantMandateFactory(
            state=assistant_mandate_state.SUPERVISION,
            assistant=cls.assistant2,
            assistant_type=assistant_type.TEACHING_ASSISTANT)
        cls.entity1 = EntityFactory()
        cls.entity_version1 = EntityVersionFactory(
            entity=cls.entity1, entity_type=entity_type.SECTOR)
        cls.entity2 = EntityFactory()
        cls.entity_version2 = EntityVersionFactory(
            entity=cls.entity2, entity_type=entity_type.FACULTY)
        cls.entity3 = EntityFactory()
        cls.entity_version3 = EntityVersionFactory(
            entity=cls.entity3, entity_type=entity_type.INSTITUTE)
        cls.entity4 = EntityFactory()
        cls.entity_version4 = EntityVersionFactory(
            entity=cls.entity4,
            parent=cls.entity2,
            entity_type=entity_type.SCHOOL)

        cls.mandate_entity1 = MandateEntityFactory(
            assistant_mandate=cls.assistant_mandate, entity=cls.entity1)
        cls.mandate_entity2 = MandateEntityFactory(
            assistant_mandate=cls.assistant_mandate, entity=cls.entity2)
        cls.mandate_entity3 = MandateEntityFactory(
            assistant_mandate=cls.assistant_mandate, entity=cls.entity3)

        cls.mandate_entity4 = MandateEntityFactory(
            assistant_mandate=cls.assistant_mandate2, entity=cls.entity1)
        cls.mandate_entity5 = MandateEntityFactory(
            assistant_mandate=cls.assistant_mandate2, entity=cls.entity2)

        cls.reviewer1 = ReviewerFactory(entity=cls.entity3,
                                        role=reviewer_role.RESEARCH)
        cls.reviewer2 = ReviewerFactory(entity=cls.entity2,
                                        role=reviewer_role.SUPERVISION)
        cls.reviewer3 = ReviewerFactory(entity=cls.entity1,
                                        role=reviewer_role.VICE_RECTOR)
        cls.reviewer4 = ReviewerFactory(entity=None,
                                        role=reviewer_role.PHD_SUPERVISOR)
コード例 #5
0
    def setUpTestData(cls):
        cls.person2 = PersonFactory()
        cls.manager = ManagerFactory()
        cls.person = cls.manager.person
        cls.entity_factory = EntityFactory()
        cls.entity_factory2 = EntityFactory()
        cls.entity_version = EntityVersionFactory(entity_type=entity_type.INSTITUTE,
                                                  end_date=None,
                                                  entity=cls.entity_factory)
        cls.entity_version2 = EntityVersionFactory(entity_type=entity_type.INSTITUTE,
                                                   end_date=None,
                                                   entity=cls.entity_factory2)
        cls.phd_supervisor = PersonFactory()

        cls.assistant = AcademicAssistantFactory(supervisor=cls.phd_supervisor)
        today = datetime.date.today()
        cls.current_academic_year = AcademicYearFactory(start_date=today,
                                                        end_date=today.replace(year=today.year + 1),
                                                        year=today.year)
        cls.assistant_mandate = AssistantMandateFactory(academic_year=cls.current_academic_year,
                                                        assistant=cls.assistant)
        cls.reviewer = ReviewerFactory(role=reviewer_role.RESEARCH_ASSISTANT,
                                       entity=cls.entity_version.entity)
        cls.reviewer2 = ReviewerFactory(role=reviewer_role.RESEARCH,
                                        entity=cls.entity_version.entity)
        cls.reviewer3 = ReviewerFactory(role=reviewer_role.RESEARCH,
                                        entity=cls.entity_version.entity)
        cls.review = ReviewFactory(reviewer=cls.reviewer2)
        cls.formset = formset_factory(ReviewersFormset)
        cls.current_academic_year = AcademicYearFactory(start_date=today,
                                                        end_date=today.replace(year=today.year + 1),
                                                        year=today.year)
コード例 #6
0
    def setUpTestData(cls):
        cls.settings = SettingsFactory()
        today = datetime.date.today()
        cls.current_academic_year = AcademicYearFactory(start_date=today,
                                                        end_date=today.replace(year=today.year + 1),
                                                        year=today.year)
        cls.current_academic_year.save()
        cls.phd_supervisor = PersonFactory()
        cls.assistant = AcademicAssistantFactory(supervisor=cls.phd_supervisor)

        cls.assistant_mandate2 = AssistantMandateFactory(
            academic_year=cls.current_academic_year,
            assistant=cls.assistant,
            state=assistant_mandate_state.RESEARCH
        )
        cls.entity_version = EntityVersionFactory(entity_type=entity_type.INSTITUTE)
        cls.entity_version2 = EntityVersionFactory(entity_type=entity_type.FACULTY)
        cls.entity_version3 = EntityVersionFactory(entity_type=entity_type.SECTOR)
        cls.reviewer = ReviewerFactory(
            role=reviewer_role.RESEARCH,
            entity=cls.entity_version.entity
        )
        cls.reviewer2 = ReviewerFactory(
            role=reviewer_role.SUPERVISION,
            entity=cls.entity_version2.entity
        )
        cls.reviewer3 = ReviewerFactory(
            role=reviewer_role.VICE_RECTOR,
            entity=cls.entity_version3.entity
        )
        MandateEntityFactory(
            assistant_mandate=cls.assistant_mandate2,
            entity=cls.entity_version.entity
        )
コード例 #7
0
 def setUp(self):
     self.maxDiff = None
     self.factory = RequestFactory()
     self.assistant = AcademicAssistantFactory(
         phd_inscription_date=datetime.date(2015, 10, 2),
         thesis_title='Data fitting on manifolds',
         confirmation_test_date=datetime.date(2017, 9, 25),
         remark=
         "Deux co-promoteurs (l'application ne m'autorise à n'en renseigner qu'un)"
     )
     self.mandate = AssistantMandateFactory(
         assistant=self.assistant,
         assistant_type=assistant_type.ASSISTANT,
         sap_id='1120019',
         entry_date=datetime.date(2012, 9, 15),
         end_date=datetime.date(2018, 9, 14),
         contract_duration='6 ans',
         contract_duration_fte='6 ans',
         fulltime_equivalent=1,
         other_status=None,
         renewal_type=assistant_mandate_renewal.NORMAL,
         justification=None,
         external_contract='',
         external_functions='',
     )
     self.entity_version = EntityVersionFactory()
     self.mandate_entity = MandateEntityFactory(
         assistant_mandate=self.mandate, entity=self.entity_version.entity)
     self.reviewer = ReviewerFactory(entity=self.mandate_entity.entity)
     self.styles = getSampleStyleSheet()
     self.review1 = ReviewFactory(mandate=self.mandate,
                                  reviewer=self.reviewer)
    def setUp(self):
        self.factory = RequestFactory()
        self.client = Client()
        self.settings = SettingsFactory()
        today = datetime.date.today()
        self.current_academic_year = AcademicYearFactory(
            start_date=today,
            end_date=today.replace(year=today.year + 1),
            year=today.year)
        self.phd_supervisor = PersonFactory()

        self.assistant = AcademicAssistantFactory(
            supervisor=self.phd_supervisor)
        self.assistant_mandate = AssistantMandateFactory(
            academic_year=self.current_academic_year, assistant=self.assistant)
        self.assistant_mandate.state = assistant_mandate_state.PHD_SUPERVISOR
        self.assistant_mandate.save()
        self.review = ReviewFactory(reviewer=None,
                                    mandate=self.assistant_mandate,
                                    status=review_status.IN_PROGRESS)
        self.entity_version = EntityVersionFactory(
            entity_type=entity_type.INSTITUTE)
        self.mandate_entity = MandateEntityFactory(
            assistant_mandate=self.assistant_mandate,
            entity=self.entity_version.entity)
コード例 #9
0
    def setUpTestData(cls):
        cls.settings = SettingsFactory()
        cls.manager = ManagerFactory()
        cls.current_academic_year = AcademicYearFactory(current=True)
        cls.supervisor = PersonFactory()
        cls.assistant = AcademicAssistantFactory(
            phd_inscription_date=datetime.date(
                cls.current_academic_year.year - 3, 10, 2),
            thesis_title='Data fitting on manifolds',
            confirmation_test_date=datetime.date(
                cls.current_academic_year.year - 1, 9, 14),
            remark=
            "Deux co-promoteurs (l'application ne m'autorise à n'en renseigner qu'un)",
            supervisor=cls.supervisor)

        cls.styles = getSampleStyleSheet()
        cls.styles.add(
            ParagraphStyle(
                name='Tiny',
                fontSize=6,
                font='Helvetica',
                leading=8,
                leftIndent=0,
                rightIndent=0,
                firstLineIndent=0,
                alignment=TA_LEFT,
                spaceBefore=0,
                spaceAfter=0,
                splitLongWords=1,
            ))
        cls.reviewer3 = ReviewerFactory()
コード例 #10
0
class SendEmailTestCase(TestCase):
    def setUp(self):
        self.factory = RequestFactory()
        self.academic_assistant = AcademicAssistantFactory()
        self.manager = ManagerFactory()
        self.client.login(username=self.manager.person.user.username, password=self.manager.person.user.password)
        self.current_academic_year = AcademicYearFactory()
        self.assistant_mandate = AssistantMandateFactory(assistant=self.academic_assistant)
        self.user = User.objects.create_user(
            username='******', email='*****@*****.**', password='******'
        )
        self.user.save()
        self.phd_supervisor = Person.objects.create(user=self.user, first_name='phd', last_name='supervisor')
        self.phd_supervisor.save()
        self.academic_assistant.supervisor = self.phd_supervisor
        self.academic_assistant.save()
        self.settings = SettingsFactory()
        self.reviewer = ReviewerFactory(role=reviewer_role.SUPERVISION)

    @patch("base.models.academic_year.current_academic_year")
    @patch("osis_common.messaging.send_message.send_messages")
    def test_with_one_assistant(self, mock_send_messages, mock_current_ac_year):
        mock_current_ac_year.return_value = self.current_academic_year
        if self.assistant_mandate.renewal_type == assistant_mandate_renewal.NORMAL \
                or self.assistant_mandate.renewal_type == assistant_mandate_renewal.SPECIAL:
            html_template_ref = 'assistant_assistants_startup_normal_renewal_html'
            txt_template_ref = 'assistant_assistants_startup_normal_renewal_txt'
        else:
            html_template_ref = 'assistant_assistants_startup_except_renewal_html'
            txt_template_ref = 'assistant_assistants_startup_except_renewal_txt'
        send_email.send_message(self.academic_assistant.person, html_template_ref, txt_template_ref)
        args = mock_send_messages.call_args[0][0]
        self.assertEqual(len(args.get('receivers')), 1)

    @patch("base.models.academic_year.current_academic_year")
    @patch("osis_common.messaging.send_message.send_messages")
    def test_with_one_phd_supervisor(self, mock_send_messages, mock_current_ac_year):
        mock_current_ac_year.return_value = self.current_academic_year
        html_template_ref = 'assistant_phd_supervisor_html'
        txt_template_ref = 'assistant_phd_supervisor_txt'
        send_email.send_message(self.phd_supervisor, html_template_ref, txt_template_ref)
        args = mock_send_messages.call_args[0][0]
        self.assertEqual(len(args.get('receivers')), 1)
コード例 #11
0
    def setUpTestData(cls):
        cls.open_settings = SettingsFactory()
        cls.previous_acy, cls.current_acy, cls.next_acy = AcademicYearFactory.produce(
        )
        cls.academic_assistant = AcademicAssistantFactory()

        cls.assistant_mandate = AssistantMandateFactory(
            assistant=cls.academic_assistant, academic_year=cls.current_acy)

        cls.url = urls.reverse('assistant_mandates')
コード例 #12
0
    def setUp(self):

        self.factory = RequestFactory()
        self.client = Client()
        self.settings = SettingsFactory()
        today = datetime.date.today()
        self.current_academic_year = AcademicYearFactory(
            start_date=today,
            end_date=today.replace(year=today.year + 1),
            year=today.year)
        self.current_academic_year.save()
        self.phd_supervisor = PersonFactory()
        self.assistant = AcademicAssistantFactory(
            supervisor=self.phd_supervisor)

        self.assistant_mandate = AssistantMandateFactory(
            academic_year=self.current_academic_year,
            assistant=self.assistant,
            state=assistant_mandate_state.RESEARCH)
        self.assistant_mandate2 = AssistantMandateFactory(
            academic_year=self.current_academic_year,
            assistant=self.assistant,
            state=assistant_mandate_state.RESEARCH)
        self.phd_supervisor_review = ReviewFactory(
            reviewer=None,
            mandate=self.assistant_mandate,
            status=review_status.DONE)
        self.entity_version = EntityVersionFactory(
            entity_type=entity_type.INSTITUTE)
        self.entity_mandate = MandateEntityFactory(
            assistant_mandate=self.assistant_mandate,
            entity=self.entity_version.entity)
        self.entity_mandate2 = MandateEntityFactory(
            assistant_mandate=self.assistant_mandate2,
            entity=self.entity_version.entity)
        self.reviewer = ReviewerFactory(role=reviewer_role.RESEARCH,
                                        entity=self.entity_version.entity)
        self.review = ReviewFactory(reviewer=self.reviewer,
                                    mandate=self.assistant_mandate,
                                    status=review_status.IN_PROGRESS)
        self.entity_version2 = EntityVersionFactory(
            entity_type=entity_type.FACULTY)
        self.entity_mandate2 = MandateEntityFactory(
            assistant_mandate=self.assistant_mandate,
            entity=self.entity_version2.entity)
        self.reviewer2 = ReviewerFactory(role=reviewer_role.SUPERVISION,
                                         entity=self.entity_version2.entity)
        self.entity_version3 = EntityVersionFactory(
            entity_type=entity_type.SECTOR)
        self.entity_mandate3 = MandateEntityFactory(
            assistant_mandate=self.assistant_mandate,
            entity=self.entity_version3.entity)
        self.reviewer3 = ReviewerFactory(role=reviewer_role.VICE_RECTOR,
                                         entity=self.entity_version3.entity)
コード例 #13
0
ファイル: test_home.py プロジェクト: uclouvain/osis-assistant
 def setUpTestData(cls):
     today = datetime.date.today()
     cls.current_academic_year = AcademicYearFactory(start_date=today,
                                                     end_date=today.replace(year=today.year + 1),
                                                     year=today.year)
     cls.settings = SettingsFactory()
     cls.manager = ManagerFactory()
     cls.entity_version = EntityVersionFactory(entity_type=entity_type.INSTITUTE)
     cls.reviewer = ReviewerFactory(entity=cls.entity_version.entity)
     cls.assistant = AcademicAssistantFactory()
     cls.unauthorized_person = PersonFactory()
コード例 #14
0
 def setUp(self):
     self.factory = RequestFactory()
     self.client = Client()
     self.settings = SettingsFactory()
     today = datetime.date.today()
     self.manager = ManagerFactory()
     self.assistant = AcademicAssistantFactory()
     self.current_academic_year = AcademicYearFactory(start_date=today,
                                                      end_date=today.replace(year=today.year + 1),
                                                      year=today.year)
     self.assistant_mandate = AssistantMandateFactory(academic_year=self.current_academic_year,
                                                      state=assistant_mandate_state.RESEARCH)
コード例 #15
0
 def setUpTestData(cls):
     cls.settings = SettingsFactory()
     today = datetime.date.today()
     cls.manager = ManagerFactory()
     cls.assistant = AcademicAssistantFactory()
     cls.current_academic_year = AcademicYearFactory(
         start_date=today,
         end_date=today.replace(year=today.year + 1),
         year=today.year)
     cls.assistant_mandate = AssistantMandateFactory(
         academic_year=cls.current_academic_year,
         state=assistant_mandate_state.RESEARCH)
コード例 #16
0
 def setUp(self):
     self.factory = RequestFactory()
     self.client = Client()
     today = datetime.date.today()
     self.current_academic_year = AcademicYearFactory(start_date=today,
                                                      end_date=today.replace(year=today.year + 1),
                                                      year=today.year)
     self.settings = SettingsFactory()
     self.manager = ManagerFactory()
     self.entity_version = EntityVersionFactory(entity_type=entity_type.INSTITUTE)
     self.reviewer = ReviewerFactory(entity=self.entity_version.entity)
     self.assistant = AcademicAssistantFactory()
     self.unauthorized_person = PersonFactory()
コード例 #17
0
 def setUpTestData(cls):
     cls.academic_assistant = AcademicAssistantFactory()
     cls.manager = ManagerFactory()
     cls.current_academic_year = AcademicYearFactory()
     cls.assistant_mandate = AssistantMandateFactory(assistant=cls.academic_assistant)
     cls.user = User.objects.create_user(
         username='******', email='*****@*****.**', password='******'
     )
     cls.user.save()
     cls.phd_supervisor = Person.objects.create(user=cls.user, first_name='phd', last_name='supervisor')
     cls.phd_supervisor.save()
     cls.academic_assistant.supervisor = cls.phd_supervisor
     cls.academic_assistant.save()
     cls.settings = SettingsFactory()
     cls.reviewer = ReviewerFactory(role=reviewer_role.SUPERVISION)
コード例 #18
0
 def setUp(self):
     self.factory = RequestFactory()
     self.academic_assistant = AcademicAssistantFactory()
     self.manager = ManagerFactory()
     self.client.login(username=self.manager.person.user.username, password=self.manager.person.user.password)
     self.current_academic_year = AcademicYearFactory()
     self.assistant_mandate = AssistantMandateFactory(assistant=self.academic_assistant)
     self.user = User.objects.create_user(
         username='******', email='*****@*****.**', password='******'
     )
     self.user.save()
     self.phd_supervisor = Person.objects.create(user=self.user, first_name='phd', last_name='supervisor')
     self.phd_supervisor.save()
     self.academic_assistant.supervisor = self.phd_supervisor
     self.academic_assistant.save()
     self.settings = SettingsFactory()
     self.reviewer = ReviewerFactory(role=reviewer_role.SUPERVISION)
コード例 #19
0
 def setUp(self):
     self.factory = RequestFactory()
     today = datetime.date.today()
     self.current_academic_year = AcademicYearFactory(
         start_date=today,
         end_date=today.replace(year=today.year + 1),
         year=today.year)
     self.phd_supervisor = PersonFactory()
     self.assistant = AcademicAssistantFactory(
         supervisor=self.phd_supervisor)
     self.assistant_mandate = AssistantMandateFactory(
         academic_year=self.current_academic_year, assistant=self.assistant)
     self.assistant_mandate.state = assistant_mandate_state.PHD_SUPERVISOR
     self.assistant_mandate.save()
     self.review = ReviewFactory(reviewer=None,
                                 mandate=self.assistant_mandate,
                                 status=review_status.IN_PROGRESS)
コード例 #20
0
    def setUpTestData(cls):
        cls.settings = SettingsFactory()
        today = datetime.date.today()
        cls.current_academic_year = AcademicYearFactory(start_date=today,
                                                        end_date=today.replace(year=today.year + 1),
                                                        year=today.year)
        cls.phd_supervisor = PersonFactory()
        cls.assistant = AcademicAssistantFactory(supervisor=cls.phd_supervisor)
        cls.assistant_mandate = AssistantMandateFactory(academic_year=cls.current_academic_year,
                                                        assistant=cls.assistant)
        cls.assistant_mandate.state = assistant_mandate_state.PHD_SUPERVISOR
        cls.assistant_mandate.save()
        cls.review = ReviewFactory(reviewer=None, mandate=cls.assistant_mandate,
                                   status=review_status.IN_PROGRESS)
        cls.entity = EntityFactory()
        cls.entity_version = EntityVersionFactory(entity=cls.entity, entity_type=entity_type.INSTITUTE)
        cls.mandate_entity = MandateEntityFactory(assistant_mandate=cls.assistant_mandate, entity=cls.entity)

        cls.reviewer = ReviewerFactory(role=reviewer_role.RESEARCH,
                                       entity=cls.entity_version.entity)
コード例 #21
0
    def setUp(self):
        self.factory = RequestFactory()
        self.client = Client()
        self.person2 = PersonFactory()
        self.manager = ManagerFactory()
        self.person = self.manager.person
        self.client.force_login(self.person.user)
        self.entity_factory = EntityFactory()
        self.entity_factory2 = EntityFactory()
        self.entity_version = EntityVersionFactory(
            entity_type=entity_type.INSTITUTE,
            end_date=None,
            entity=self.entity_factory)
        self.entity_version2 = EntityVersionFactory(
            entity_type=entity_type.INSTITUTE,
            end_date=None,
            entity=self.entity_factory2)
        self.phd_supervisor = PersonFactory()

        self.assistant = AcademicAssistantFactory(
            supervisor=self.phd_supervisor)
        today = datetime.date.today()
        self.current_academic_year = AcademicYearFactory(
            start_date=today,
            end_date=today.replace(year=today.year + 1),
            year=today.year)
        self.assistant_mandate = AssistantMandateFactory(
            academic_year=self.current_academic_year, assistant=self.assistant)
        self.reviewer = ReviewerFactory(role=reviewer_role.RESEARCH_ASSISTANT,
                                        entity=self.entity_version.entity)
        self.reviewer2 = ReviewerFactory(role=reviewer_role.RESEARCH,
                                         entity=self.entity_version.entity)
        self.reviewer3 = ReviewerFactory(role=reviewer_role.RESEARCH,
                                         entity=self.entity_version.entity)
        self.review = ReviewFactory(reviewer=self.reviewer2)
        self.formset = formset_factory(ReviewersFormset)
        self.current_academic_year = AcademicYearFactory(
            start_date=today,
            end_date=today.replace(year=today.year + 1),
            year=today.year)
コード例 #22
0
    def setUp(self):
        self.factory = RequestFactory()
        self.client = Client()
        self.manager = ManagerFactory()
        self.settings = SettingsFactory()
        self.client.force_login(self.manager.person.user)
        self.assistant = AcademicAssistantFactory()
        self.assistant_mandate = AssistantMandateFactory(
            state=assistant_mandate_state.TRTS,
            assistant=self.assistant,
            assistant_type=assistant_type.ASSISTANT
        )
        self.assistant2 = AcademicAssistantFactory()
        self.assistant_mandate2 = AssistantMandateFactory(
            state=assistant_mandate_state.SUPERVISION,
            assistant=self.assistant2,
            assistant_type=assistant_type.TEACHING_ASSISTANT
        )
        self.entity1 = EntityFactory()
        self.entity_version1 = EntityVersionFactory(entity=self.entity1, entity_type=entity_type.SECTOR)
        self.entity2 = EntityFactory()
        self.entity_version2 = EntityVersionFactory(entity=self.entity2, entity_type=entity_type.FACULTY)
        self.entity3 = EntityFactory()
        self.entity_version3 = EntityVersionFactory(entity=self.entity3, entity_type=entity_type.INSTITUTE)
        self.entity4 = EntityFactory()
        self.entity_version4 = EntityVersionFactory(
            entity=self.entity4, parent=self.entity2, entity_type=entity_type.SCHOOL)

        self.mandate_entity1 = MandateEntityFactory(assistant_mandate=self.assistant_mandate, entity=self.entity1)
        self.mandate_entity2 = MandateEntityFactory(assistant_mandate=self.assistant_mandate, entity=self.entity2)
        self.mandate_entity3 = MandateEntityFactory(assistant_mandate=self.assistant_mandate, entity=self.entity3)

        self.mandate_entity4 = MandateEntityFactory(assistant_mandate=self.assistant_mandate2, entity=self.entity1)
        self.mandate_entity5 = MandateEntityFactory(assistant_mandate=self.assistant_mandate2, entity=self.entity2)

        self.reviewer1 = ReviewerFactory(entity=self.entity3, role=reviewer_role.RESEARCH)
        self.reviewer2 = ReviewerFactory(entity=self.entity2, role=reviewer_role.SUPERVISION)
        self.reviewer3 = ReviewerFactory(entity=self.entity1, role=reviewer_role.VICE_RECTOR)
        self.reviewer4 = ReviewerFactory(entity=None, role=reviewer_role.PHD_SUPERVISOR)
コード例 #23
0
class TestMandateEntity(TestCase):

    def setUp(self):
        self.factory = RequestFactory()
        self.client = Client()
        self.manager = ManagerFactory()
        self.settings = SettingsFactory()
        self.client.force_login(self.manager.person.user)
        self.assistant = AcademicAssistantFactory()
        self.assistant_mandate = AssistantMandateFactory(
            state=assistant_mandate_state.TRTS,
            assistant=self.assistant,
            assistant_type=assistant_type.ASSISTANT
        )
        self.assistant2 = AcademicAssistantFactory()
        self.assistant_mandate2 = AssistantMandateFactory(
            state=assistant_mandate_state.SUPERVISION,
            assistant=self.assistant2,
            assistant_type=assistant_type.TEACHING_ASSISTANT
        )
        self.entity1 = EntityFactory()
        self.entity_version1 = EntityVersionFactory(entity=self.entity1, entity_type=entity_type.SECTOR)
        self.entity2 = EntityFactory()
        self.entity_version2 = EntityVersionFactory(entity=self.entity2, entity_type=entity_type.FACULTY)
        self.entity3 = EntityFactory()
        self.entity_version3 = EntityVersionFactory(entity=self.entity3, entity_type=entity_type.INSTITUTE)
        self.entity4 = EntityFactory()
        self.entity_version4 = EntityVersionFactory(
            entity=self.entity4, parent=self.entity2, entity_type=entity_type.SCHOOL)

        self.mandate_entity1 = MandateEntityFactory(assistant_mandate=self.assistant_mandate, entity=self.entity1)
        self.mandate_entity2 = MandateEntityFactory(assistant_mandate=self.assistant_mandate, entity=self.entity2)
        self.mandate_entity3 = MandateEntityFactory(assistant_mandate=self.assistant_mandate, entity=self.entity3)

        self.mandate_entity4 = MandateEntityFactory(assistant_mandate=self.assistant_mandate2, entity=self.entity1)
        self.mandate_entity5 = MandateEntityFactory(assistant_mandate=self.assistant_mandate2, entity=self.entity2)

        self.reviewer1 = ReviewerFactory(entity=self.entity3, role=reviewer_role.RESEARCH)
        self.reviewer2 = ReviewerFactory(entity=self.entity2, role=reviewer_role.SUPERVISION)
        self.reviewer3 = ReviewerFactory(entity=self.entity1, role=reviewer_role.VICE_RECTOR)
        self.reviewer4 = ReviewerFactory(entity=None, role=reviewer_role.PHD_SUPERVISOR)

    def test_mandate_can_go_backward(self):
        self.assertTrue(mandate_can_go_backward(self.assistant_mandate))
        self.assistant_mandate.state = assistant_mandate_state.RESEARCH
        self.assistant_mandate.save()
        self.review1 = ReviewFactory(
            reviewer=self.reviewer1,
            mandate=self.assistant_mandate,
            status=review_status.IN_PROGRESS
        )
        self.assertFalse(mandate_can_go_backward(self.assistant_mandate))
        self.review1.delete()
        self.assistant_mandate.state = assistant_mandate_state.TO_DO
        self.assistant_mandate.save()
        self.assertFalse(mandate_can_go_backward(self.assistant_mandate))

    def test_assistant_mandate_step_back_from_assistant_to_beginning(self):
        self.assistant_mandate.state = assistant_mandate_state.TRTS
        self.assistant_mandate.save()
        self.client.post(reverse('assistant_mandate_step_back'), {'mandate_id': self.assistant_mandate.id})
        self.assistant_mandate.refresh_from_db()
        self.assertEqual(self.assistant_mandate.state, assistant_mandate_state.TO_DO)

    def test_assistant_mandate_step_back_from_phd_supervisor_to_assistant(self):
        self.assistant_mandate.state = assistant_mandate_state.PHD_SUPERVISOR
        self.assistant_mandate.save()
        self.client.post(reverse('assistant_mandate_step_back'), {'mandate_id': self.assistant_mandate.id})
        self.assistant_mandate.refresh_from_db()
        self.assertEqual(self.assistant_mandate.state, assistant_mandate_state.TRTS)

    def test_assistant_mandate_step_back_from_institute_president_to_php_supervisor(self):
        self.assistant.supervisor = PersonFactory()
        self.assistant.save()
        self.review1 = ReviewFactory(
            reviewer=self.reviewer1,
            mandate=self.assistant_mandate,
            status=review_status.DONE
        )
        self.review2 = ReviewFactory(
            reviewer=None,
            mandate=self.assistant_mandate,
            status=review_status.DONE
        )
        self.assistant_mandate.state = assistant_mandate_state.RESEARCH
        self.assistant_mandate.save()
        self.client.post(reverse('assistant_mandate_step_back'), {'mandate_id': self.assistant_mandate.id})
        self.assistant_mandate.refresh_from_db()
        self.assertEqual(self.assistant_mandate.state, assistant_mandate_state.PHD_SUPERVISOR)

    def test_assistant_mandate_step_back_from_institute_president_to_assistant(self):
        # Test if assistant does not have a phd supervisor
        self.assistant_mandate.state = assistant_mandate_state.RESEARCH
        self.assistant_mandate.save()
        self.assistant.supervisor = None
        self.assistant.save()
        self.client.post(reverse('assistant_mandate_step_back'), {'mandate_id': self.assistant_mandate.id})
        self.assistant_mandate.refresh_from_db()
        self.assertEqual(self.assistant_mandate.state, assistant_mandate_state.TRTS)

    def test_assistant_mandate_step_back_from_dean_of_faculty_to_institute_president(self):
        self.research_review = ReviewFactory(mandate=self.assistant_mandate, reviewer=self.reviewer1)
        self.assistant_mandate.state = assistant_mandate_state.SUPERVISION
        self.assistant_mandate.save()
        self.client.post(reverse('assistant_mandate_step_back'), {'mandate_id': self.assistant_mandate.id})
        self.assistant_mandate.refresh_from_db()
        self.assertEqual(self.assistant_mandate.state, assistant_mandate_state.RESEARCH)

    def test_assistant_mandate_step_back_from_vice_rector_to_dean_of_faculty(self):
        self.supervision_review = ReviewFactory(mandate=self.assistant_mandate, reviewer=self.reviewer2)
        self.assistant_mandate.state = assistant_mandate_state.VICE_RECTOR
        self.assistant_mandate.save()
        self.client.post(reverse('assistant_mandate_step_back'), {'mandate_id': self.assistant_mandate.id})
        self.assistant_mandate.refresh_from_db()
        self.assertEqual(self.assistant_mandate.state, assistant_mandate_state.SUPERVISION)

    def test_assistant_mandate_step_back_from_dean_of_faculty_to_assistant(self):
        # Test if assistant is teaching assistant
        self.research_review = ReviewFactory(mandate=self.assistant_mandate, reviewer=self.reviewer1)
        self.assistant_mandate.state = assistant_mandate_state.SUPERVISION
        self.assistant_mandate.save()
        self.client.post(reverse('assistant_mandate_step_back'), {'mandate_id': self.assistant_mandate2.id})
        self.assistant_mandate2.refresh_from_db()
        self.assertEqual(self.assistant_mandate2.state, assistant_mandate_state.TRTS)

    def test_assistant_mandate_step_back_from_done_to_vice_rector(self):
        self.review4 = ReviewFactory(
            reviewer=self.reviewer3,
            mandate=self.assistant_mandate2,
            status=review_status.DONE
        )
        self.review5 = ReviewFactory(
            reviewer=self.reviewer2,
            mandate=self.assistant_mandate2,
            status=review_status.DONE
        )
        self.assistant_mandate2.state = assistant_mandate_state.DONE
        self.assistant_mandate2.save()
        self.client.post(reverse('assistant_mandate_step_back'), {'mandate_id': self.assistant_mandate2.id})
        self.assistant_mandate2.refresh_from_db()
        self.assertEqual(self.assistant_mandate2.state, assistant_mandate_state.VICE_RECTOR)

    def test_add_actions_to_mandates_list(self):
        self.client.force_login(self.reviewer1.person.user)
        response = self.client.get('/assistants/reviewer/')
        context = add_actions_to_mandates_list(response.context, self.reviewer1)
        for mandate in context['object_list']:
            if mandate.id == self.assistant_mandate.id:
                self.assertFalse(mandate.view)
                self.assertFalse(mandate.edit)
        self.client.force_login(self.reviewer2.person.user)
        response = self.client.get('/assistants/reviewer/')
        context = add_actions_to_mandates_list(response.context, self.reviewer2)
        for mandate in context['object_list']:
            if mandate.id == self.assistant_mandate2.id:
                self.assertTrue(mandate.view)
                self.assertTrue(mandate.edit)
コード例 #24
0
class TestMandateEntity(TestCase):
    def setUp(self):
        self.factory = RequestFactory()
        self.client = Client()
        self.manager = ManagerFactory()
        self.settings = SettingsFactory()
        self.client.force_login(self.manager.person.user)
        self.assistant = AcademicAssistantFactory()
        self.assistant_mandate = AssistantMandateFactory(
            state=assistant_mandate_state.TRTS,
            assistant=self.assistant,
            assistant_type=assistant_type.ASSISTANT)
        self.assistant2 = AcademicAssistantFactory()
        self.assistant_mandate2 = AssistantMandateFactory(
            state=assistant_mandate_state.SUPERVISION,
            assistant=self.assistant2,
            assistant_type=assistant_type.TEACHING_ASSISTANT)
        self.entity1 = EntityFactory()
        self.entity_version1 = EntityVersionFactory(
            entity=self.entity1, entity_type=entity_type.SECTOR)
        self.entity2 = EntityFactory()
        self.entity_version2 = EntityVersionFactory(
            entity=self.entity2, entity_type=entity_type.FACULTY)
        self.entity3 = EntityFactory()
        self.entity_version3 = EntityVersionFactory(
            entity=self.entity3, entity_type=entity_type.INSTITUTE)
        self.entity4 = EntityFactory()
        self.entity_version4 = EntityVersionFactory(
            entity=self.entity4,
            parent=self.entity2,
            entity_type=entity_type.SCHOOL)

        self.mandate_entity1 = MandateEntityFactory(
            assistant_mandate=self.assistant_mandate, entity=self.entity1)
        self.mandate_entity2 = MandateEntityFactory(
            assistant_mandate=self.assistant_mandate, entity=self.entity2)
        self.mandate_entity3 = MandateEntityFactory(
            assistant_mandate=self.assistant_mandate, entity=self.entity3)

        self.mandate_entity4 = MandateEntityFactory(
            assistant_mandate=self.assistant_mandate2, entity=self.entity1)
        self.mandate_entity5 = MandateEntityFactory(
            assistant_mandate=self.assistant_mandate2, entity=self.entity2)

        self.reviewer1 = ReviewerFactory(entity=self.entity3,
                                         role=reviewer_role.RESEARCH)
        self.reviewer2 = ReviewerFactory(entity=self.entity2,
                                         role=reviewer_role.SUPERVISION)
        self.reviewer3 = ReviewerFactory(entity=self.entity1,
                                         role=reviewer_role.VICE_RECTOR)
        self.reviewer4 = ReviewerFactory(entity=None,
                                         role=reviewer_role.PHD_SUPERVISOR)

    def test_mandate_can_go_backward(self):
        self.assertTrue(mandate_can_go_backward(self.assistant_mandate))
        self.assistant_mandate.state = assistant_mandate_state.RESEARCH
        self.assistant_mandate.save()
        self.review1 = ReviewFactory(reviewer=self.reviewer1,
                                     mandate=self.assistant_mandate,
                                     status=review_status.IN_PROGRESS)
        self.assertFalse(mandate_can_go_backward(self.assistant_mandate))
        self.review1.delete()
        self.assistant_mandate.state = assistant_mandate_state.TO_DO
        self.assistant_mandate.save()
        self.assertFalse(mandate_can_go_backward(self.assistant_mandate))

    def test_assistant_mandate_step_back_from_assistant_to_beginning(self):
        self.assistant_mandate.state = assistant_mandate_state.TRTS
        self.assistant_mandate.save()
        self.client.post(reverse('assistant_mandate_step_back'),
                         {'mandate_id': self.assistant_mandate.id})
        self.assistant_mandate.refresh_from_db()
        self.assertEqual(self.assistant_mandate.state,
                         assistant_mandate_state.TO_DO)

    def test_assistant_mandate_step_back_from_phd_supervisor_to_assistant(
            self):
        self.assistant_mandate.state = assistant_mandate_state.PHD_SUPERVISOR
        self.assistant_mandate.save()
        self.client.post(reverse('assistant_mandate_step_back'),
                         {'mandate_id': self.assistant_mandate.id})
        self.assistant_mandate.refresh_from_db()
        self.assertEqual(self.assistant_mandate.state,
                         assistant_mandate_state.TRTS)

    def test_assistant_mandate_step_back_from_institute_president_to_php_supervisor(
            self):
        self.assistant.supervisor = PersonFactory()
        self.assistant.save()
        self.review1 = ReviewFactory(reviewer=self.reviewer1,
                                     mandate=self.assistant_mandate,
                                     status=review_status.DONE)
        self.review2 = ReviewFactory(reviewer=None,
                                     mandate=self.assistant_mandate,
                                     status=review_status.DONE)
        self.assistant_mandate.state = assistant_mandate_state.RESEARCH
        self.assistant_mandate.save()
        self.client.post(reverse('assistant_mandate_step_back'),
                         {'mandate_id': self.assistant_mandate.id})
        self.assistant_mandate.refresh_from_db()
        self.assertEqual(self.assistant_mandate.state,
                         assistant_mandate_state.PHD_SUPERVISOR)

    def test_assistant_mandate_step_back_from_institute_president_to_assistant(
            self):
        # Test if assistant does not have a phd supervisor
        self.assistant_mandate.state = assistant_mandate_state.RESEARCH
        self.assistant_mandate.save()
        self.assistant.supervisor = None
        self.assistant.save()
        self.client.post(reverse('assistant_mandate_step_back'),
                         {'mandate_id': self.assistant_mandate.id})
        self.assistant_mandate.refresh_from_db()
        self.assertEqual(self.assistant_mandate.state,
                         assistant_mandate_state.TRTS)

    def test_assistant_mandate_step_back_from_dean_of_faculty_to_institute_president(
            self):
        self.research_review = ReviewFactory(mandate=self.assistant_mandate,
                                             reviewer=self.reviewer1)
        self.assistant_mandate.state = assistant_mandate_state.SUPERVISION
        self.assistant_mandate.save()
        self.client.post(reverse('assistant_mandate_step_back'),
                         {'mandate_id': self.assistant_mandate.id})
        self.assistant_mandate.refresh_from_db()
        self.assertEqual(self.assistant_mandate.state,
                         assistant_mandate_state.RESEARCH)

    def test_assistant_mandate_step_back_from_vice_rector_to_dean_of_faculty(
            self):
        self.supervision_review = ReviewFactory(mandate=self.assistant_mandate,
                                                reviewer=self.reviewer2)
        self.assistant_mandate.state = assistant_mandate_state.VICE_RECTOR
        self.assistant_mandate.save()
        self.client.post(reverse('assistant_mandate_step_back'),
                         {'mandate_id': self.assistant_mandate.id})
        self.assistant_mandate.refresh_from_db()
        self.assertEqual(self.assistant_mandate.state,
                         assistant_mandate_state.SUPERVISION)

    def test_assistant_mandate_step_back_from_dean_of_faculty_to_assistant(
            self):
        # Test if assistant is teaching assistant
        self.research_review = ReviewFactory(mandate=self.assistant_mandate,
                                             reviewer=self.reviewer1)
        self.assistant_mandate.state = assistant_mandate_state.SUPERVISION
        self.assistant_mandate.save()
        self.client.post(reverse('assistant_mandate_step_back'),
                         {'mandate_id': self.assistant_mandate2.id})
        self.assistant_mandate2.refresh_from_db()
        self.assertEqual(self.assistant_mandate2.state,
                         assistant_mandate_state.TRTS)

    def test_assistant_mandate_step_back_from_done_to_vice_rector(self):
        self.review4 = ReviewFactory(reviewer=self.reviewer3,
                                     mandate=self.assistant_mandate2,
                                     status=review_status.DONE)
        self.review5 = ReviewFactory(reviewer=self.reviewer2,
                                     mandate=self.assistant_mandate2,
                                     status=review_status.DONE)
        self.assistant_mandate2.state = assistant_mandate_state.DONE
        self.assistant_mandate2.save()
        self.client.post(reverse('assistant_mandate_step_back'),
                         {'mandate_id': self.assistant_mandate2.id})
        self.assistant_mandate2.refresh_from_db()
        self.assertEqual(self.assistant_mandate2.state,
                         assistant_mandate_state.VICE_RECTOR)

    def test_add_actions_to_mandates_list(self):
        self.client.force_login(self.reviewer1.person.user)
        response = self.client.get('/assistants/reviewer/')
        context = add_actions_to_mandates_list(response.context,
                                               self.reviewer1)
        for mandate in context['object_list']:
            if mandate.id == self.assistant_mandate.id:
                self.assertFalse(mandate.view)
                self.assertFalse(mandate.edit)
        self.client.force_login(self.reviewer2.person.user)
        response = self.client.get('/assistants/reviewer/')
        context = add_actions_to_mandates_list(response.context,
                                               self.reviewer2)
        for mandate in context['object_list']:
            if mandate.id == self.assistant_mandate2.id:
                self.assertTrue(mandate.view)
                self.assertTrue(mandate.edit)
コード例 #25
0
    def setUp(self):
        self.client = Client()
        self.settings = SettingsFactory()
        self.manager = ManagerFactory()
        self.factory = RequestFactory()
        self.supervisor = PersonFactory()
        self.assistant = AcademicAssistantFactory(
            phd_inscription_date=datetime.date(2015, 10, 2),
            thesis_title='Data fitting on manifolds',
            confirmation_test_date=datetime.date(2017, 9, 25),
            remark=
            "Deux co-promoteurs (l'application ne m'autorise à n'en renseigner qu'un)",
            supervisor=self.supervisor)
        self.mandate = AssistantMandateFactory(
            assistant=self.assistant,
            assistant_type=assistant_type.ASSISTANT,
            sap_id='1120019',
            entry_date=datetime.date(2012, 9, 15),
            end_date=datetime.date(2018, 9, 14),
            contract_duration='6 ans',
            contract_duration_fte='6 ans',
            fulltime_equivalent=1,
            other_status=None,
            renewal_type=assistant_mandate_renewal.NORMAL,
            justification=None,
            external_contract='',
            external_functions='',
        )
        self.tutoring_learning_unit_year = TutoringLearningUnitYearFactory(
            mandate=self.mandate)
        self.review3 = ReviewFactory(mandate=self.mandate, reviewer=None)
        self.entity_version = EntityVersionFactory()
        self.mandate_entity = MandateEntityFactory(
            assistant_mandate=self.mandate, entity=self.entity_version.entity)
        self.entity_version2 = EntityVersionFactory(
            entity_type=entity_type.FACULTY, end_date=None)
        self.mandate_entity2 = MandateEntityFactory(
            assistant_mandate=self.mandate, entity=self.entity_version2.entity)
        self.reviewer = ReviewerFactory(role=reviewer_role.SUPERVISION,
                                        entity=self.mandate_entity.entity)

        self.reviewer2 = ReviewerFactory(entity=self.mandate_entity2.entity)
        self.styles = getSampleStyleSheet()
        self.styles.add(
            ParagraphStyle(
                name='Tiny',
                fontSize=6,
                font='Helvetica',
                leading=8,
                leftIndent=0,
                rightIndent=0,
                firstLineIndent=0,
                alignment=TA_LEFT,
                spaceBefore=0,
                spaceAfter=0,
                splitLongWords=1,
            ))
        self.review1 = ReviewFactory(mandate=self.mandate,
                                     reviewer=self.reviewer)
        self.review2 = ReviewFactory(mandate=self.mandate,
                                     reviewer=self.reviewer2,
                                     status=review_status.IN_PROGRESS)
        self.review3 = ReviewFactory(mandate=self.mandate, reviewer=None)
        self.reviewer3 = ReviewerFactory()