Esempio n. 1
0
    def test_generate_xls_data_with_an_admission(self):
        a_form = RegistrationFilterForm({"faculty": self.entity_version.id})
        self.assertTrue(a_form.is_valid())
        found_registrations = a_form.get_registrations()
        create_xls_registration(self.user, found_registrations, None)

        xls_data = [[
            self.registration.person_information.person.first_name,
            self.registration.person_information.person.last_name,
            self.registration.email, self.registration.formation,
            self.entity_version.entity,
            _('Yes'),
            _('No'), self.registration.state
        ]]

        expected_argument = _generate_xls_build_parameter(xls_data, self.user)

        self.assertEqual(expected_argument['list_description'],
                         _('Registrations list'))
        self.assertEqual(expected_argument['filename'],
                         _('Registrations_list'))
        self.assertEqual(expected_argument['username'], self.user.username)
        self.assertEqual(expected_argument['data'][0]['content'], xls_data)
        self.assertEqual(expected_argument['data'][0]['header_titles'],
                         _get_titles())
        self.assertEqual(expected_argument['data'][0]['worksheet_title'],
                         _('Registrations list'))
Esempio n. 2
0
 def test_get_state_choices(self):
     form = RegistrationFilterForm(
         data={}, user=self.training_managers[0].person.user)
     self.assertTrue(form.is_valid())
     self.assertCountEqual(
         form.fields['state'].choices, [ALL_CHOICE] +
         sorted(REGISTRATION_STATE_CHOICES, key=itemgetter(1)))
Esempio n. 3
0
    def test_get_registrations_by_academic_year(self):
        form = RegistrationFilterForm(
            {"academic_year": self.current_academic_yr.id})
        self.assertTrue(form.is_valid())
        results = form.get_registrations()

        self.assertListEqual(list(results), self.all_registrations_expected)
def list_registrations(request):
    search_form = RegistrationFilterForm(request.GET, user=request.user)
    user_is_continuing_education_student_worker = is_continuing_education_student_worker(
        request.user)
    admission_list = []
    if search_form.is_valid():
        admission_list = search_form.get_registrations()

    if not user_is_continuing_education_student_worker:
        admission_list = filter_authorized_admissions(request.user,
                                                      admission_list)

    if request.GET.get('xls_status') == "xls_registrations":
        return create_xls_registration(request.user, admission_list,
                                       search_form)

    return render(
        request, "registrations.html", {
            'admissions': get_object_list(request, admission_list),
            'admissions_number': len(admission_list),
            'search_form': search_form,
            'user_is_continuing_education_student_worker':
            user_is_continuing_education_student_worker,
            'ucl_registration_state_choices': UCLRegistrationState.__members__
        })
Esempio n. 5
0
 def test_get_registrations_by_free_text_country(self):
     admission_accent = self._build_admission_with_accent(
         REGISTRATION_SUBMITTED, False)
     country_free_text = "Country - e"
     form = RegistrationFilterForm({"free_text": country_free_text})
     form.is_valid()
     results = form.get_registrations()
     self.assertEqual(results.first(), admission_accent)
Esempio n. 6
0
 def test_get_registrations_by_free_text(self):
     self._create_admissions_for_free_text_search()
     for admission in self.admissions_free_text:
         admission.state = ACCEPTED
         admission.save()
     form = RegistrationFilterForm({"free_text": "testtext"})
     self.assertTrue(form.is_valid())
     results = form.get_registrations()
     self.assertCountEqual(results, self.admissions_free_text)
Esempio n. 7
0
    def test_get_registrations_by_payment_complete(self):
        form = RegistrationFilterForm({"payment_complete": True})
        self.assertTrue(form.is_valid())
        results = form.get_registrations()
        self.assertCountEqual(results, [self.registrations[1]])

        form = RegistrationFilterForm({
            "payment_complete": True,
            "ucl_registration_complete": True
        })
        self.assertTrue(form.is_valid())
        results = form.get_registrations()
        self.assertCountEqual(results, [])
Esempio n. 8
0
    def test_get_registrations_by_faculty_and_formation_criteria(self):
        form = RegistrationFilterForm({
            "faculty":
            self.fac_1_version.id,
            "formation":
            self.registrations[0].formation.id
        })
        self.assertTrue(form.is_valid())
        results = form.get_registrations()
        self.assertCountEqual(results, [self.registrations[0]])

        form = RegistrationFilterForm({
            "faculty":
            self.fac_1_version.id,
            "formation":
            self.registration_validated.formation.id
        })
        self.assertTrue(form.is_valid())
        results = form.get_registrations()
        self.assertCountEqual(results, [])
Esempio n. 9
0
    def setUpTestData(cls):
        cls.current_academic_yr = create_current_academic_year()
        cls.next_academic_yr = AcademicYearFactory(
            year=cls.current_academic_yr.year + 1)

        cls.start_date = date.today().replace(year=2010)

        cls.fac_1_older_version = EntityVersionFactory(
            acronym="DRT",
            entity_type=FACULTY,
            start_date=date.today().replace(year=2000),
            end_date=cls.start_date - timezone.timedelta(days=1))
        cls.fac_1_version = EntityVersionFactory(
            acronym="DRT_NEW",
            entity_type=FACULTY,
            start_date=cls.start_date,
            end_date=None,
        )
        cls.fac_2_version = EntityVersionFactory(
            acronym="AGRO",
            entity_type=FACULTY,
            start_date=cls.start_date,
            end_date=None,
        )
        cls.fac_3_version_with_child = EntityVersionFactory(
            acronym="ESPO",
            entity_type=FACULTY,
            end_date=None,
            start_date=cls.start_date)
        cls.fac_3_child_version = EntityVersionFactory(
            acronym="ESPO_child",
            entity_type=SCHOOL,
            end_date=None,
            start_date=cls.start_date,
            parent=cls.fac_3_version_with_child.entity)
        cls.fac_4_version = EntityVersionFactory(
            acronym="ILV",
            entity_type=FACULTY,
            start_date=cls.start_date,
            end_date=None,
        )
        letters = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H']
        cls.education_groups_fac_1_version = [
            EducationGroupFactory(start_year=cls.current_academic_yr)
            for _ in range(0, len(letters))
        ]
        cls.education_group_yrs = [
            EducationGroupYearFactory(
                academic_year=cls.next_academic_yr,
                acronym='{}_FORM'.format(letters[index]),
                management_entity=cls.fac_1_version.entity,
                education_group=education_group) for index, education_group in
            enumerate(cls.education_groups_fac_1_version)
        ]

        cls.education_group_on_faculty = EducationGroupFactory(
            start_year=cls.current_academic_yr)
        cls.education_group_yr_on_faculty = EducationGroupYearFactory(
            academic_year=cls.next_academic_yr,
            acronym='E_FORM_FAC',
            management_entity=cls.fac_3_version_with_child.entity,
            education_group=cls.education_group_on_faculty)

        cls.education_group_on_faculty_child = EducationGroupFactory(
            start_year=cls.current_academic_yr)
        cls.education_group_yr_on_faculty_child = EducationGroupYearFactory(
            academic_year=cls.next_academic_yr,
            acronym='E_FORM_Child',
            management_entity=cls.fac_3_child_version.entity,
            education_group=cls.education_group_on_faculty_child)

        cls.admissions_fac_1_version = [
            AdmissionFactory(formation=ContinuingEducationTrainingFactory(
                education_group=cls.education_groups_fac_1_version[index]),
                             state=state,
                             academic_year=cls.current_academic_yr)
            for index, state in enumerate(
                [SUBMITTED, REJECTED, WAITING, DRAFT, SUBMITTED])
        ]

        cls.registrations = [
            AdmissionFactory(formation=ContinuingEducationTrainingFactory(
                education_group=cls.education_groups_fac_1_version[
                    len(cls.admissions_fac_1_version) + index], ),
                             state=state,
                             ucl_registration_complete=index == 0,
                             payment_complete=index != 0,
                             academic_year=cls.current_academic_yr)
            for index, state in enumerate([ACCEPTED, REGISTRATION_SUBMITTED])
        ]

        cls.education_group_on_fac4 = EducationGroupFactory(
            start_year=cls.current_academic_yr)
        cls.education_group_yr_on_faculty_child = EducationGroupYearFactory(
            academic_year=cls.next_academic_yr,
            acronym='E_FORM_fac_Child',
            management_entity=cls.fac_4_version.entity,
            education_group=cls.education_group_on_fac4)
        cls.registration_validated = AdmissionFactory(
            formation=ContinuingEducationTrainingFactory(
                education_group=cls.education_group_on_fac4),
            state=VALIDATED,
            payment_complete=False,
            ucl_registration_complete=False,
            academic_year=cls.current_academic_yr)

        cls.all_registrations_expected = cls.registrations.copy()
        cls.all_registrations_expected.append(cls.registration_validated)

        cls.archived_submitted = AdmissionFactory(
            formation=ContinuingEducationTrainingFactory(
                education_group=cls.education_groups_fac_1_version[7], ),
            state=SUBMITTED,
            archived=True,
            academic_year=cls.current_academic_yr)

        ed_free_text_acronym = EducationGroupFactory(
            start_year=cls.current_academic_yr)
        EducationGroupYearFactory(acronym="TestText",
                                  academic_year=cls.next_academic_yr,
                                  education_group=ed_free_text_acronym)
        ed_free_text_title = EducationGroupFactory(
            start_year=cls.current_academic_yr)
        EducationGroupYearFactory(academic_year=cls.next_academic_yr,
                                  education_group=ed_free_text_title,
                                  title="bla TestText bla")
        ed = EducationGroupFactory(start_year=cls.current_academic_yr)
        EducationGroupYearFactory(academic_year=cls.next_academic_yr,
                                  education_group=ed)
        cls.formation_no_registration_required = ContinuingEducationTrainingFactory(
            education_group=ed,
            registration_required=False,
        )
        cls.persons = [
            PersonFactory(first_name="TestText"),
            PersonFactory(last_name="TestText"),
            PersonFactory(email="*****@*****.**")
        ]
        cls.eds = [ed_free_text_title, ed_free_text_acronym]
        cls.admissions_free_text = []
        cls.country_accent = CountryFactory(name=COUNTRY_NAME_WITH_ACCENT)
        cls.country_without_accent = CountryFactory(
            name=COUNTRY_NAME_WITHOUT_ACCENT)
        cls.form = AdmissionFilterForm()
        cls.registration_form = RegistrationFilterForm()
Esempio n. 10
0
    def test_get_registration_received_file_param(self):
        self.registrations[0].registration_file_received = True
        self.registrations[0].save()
        form = RegistrationFilterForm({"registration_file_received": True})
        self.assertTrue(form.is_valid())
        results = form.get_registrations()
        self.assertCountEqual(results, [self.registrations[0]])

        form = RegistrationFilterForm({"registration_file_received": False})
        self.assertTrue(form.is_valid())
        results = form.get_registrations()
        self.assertCountEqual(
            results, [self.registrations[1], self.registration_validated])

        form = RegistrationFilterForm({})
        self.assertTrue(form.is_valid())
        results = form.get_registrations()
        self.assertCountEqual(results, [
            self.registrations[0], self.registrations[1],
            self.registration_validated
        ])
Esempio n. 11
0
 def test_get_registrations_by_state(self):
     form = RegistrationFilterForm({"state": ACCEPTED})
     self.assertTrue(form.is_valid())
     results = form.get_registrations()
     self.assertCountEqual(results, [self.registrations[0]])
Esempio n. 12
0
 def test_get_registrations_by_ucl_registration_complete_criteria(self):
     form = RegistrationFilterForm({"ucl_registration_complete": True})
     self.assertTrue(form.is_valid())
     results = form.get_registrations()
     self.assertCountEqual(results, [self.registrations[0]])
Esempio n. 13
0
 def test_get_registrations_by_faculty_criteria(self):
     form = RegistrationFilterForm({"faculty": self.fac_1_version.id})
     self.assertTrue(form.is_valid())
     results = form.get_registrations()
     self.assertCountEqual(list(results), self.registrations)
Esempio n. 14
0
 def test_get_registrations_by_formation_criteria(self):
     form = RegistrationFilterForm(
         {"formation": self.registrations[0].formation.id})
     self.assertTrue(form.is_valid())
     results = form.get_registrations()
     self.assertListEqual(list(results), [self.registrations[0]])
Esempio n. 15
0
    def test_get_registrations_no_criteria(self):
        form = RegistrationFilterForm({})
        self.assertTrue(form.is_valid())

        results = form.get_registrations()
        self.assertCountEqual(results, self.all_registrations_expected)