Esempio n. 1
0
    def setUp(self):
        today = datetime.date.today()
        self.academic_yr = AcademicYearFactory(
            start_date=today,
            end_date=today.replace(year=today.year + 1),
            year=today.year)
        self.academic_yr_1 = AcademicYearFactory.build(
            start_date=today.replace(year=today.year + 1),
            end_date=today.replace(year=today.year + 2),
            year=today.year + 1)
        super(AcademicYear, self.academic_yr_1).save()
        self.academic_year_6 = AcademicYearFactory.build(
            start_date=today.replace(year=today.year + 6),
            end_date=today.replace(year=today.year + 7),
            year=today.year + 6)
        super(AcademicYear, self.academic_year_6).save()

        self.lunit_container_yr = LearningContainerYearFactory(
            academic_year=self.academic_yr)
        lu = LearningUnitFactory(end_year=self.academic_yr.year)
        self.luy = LearningUnitYearFactory(
            academic_year=self.academic_yr,
            learning_container_year=self.lunit_container_yr,
            subtype=FULL,
            learning_unit=lu)
Esempio n. 2
0
    def setUpTestData(cls):
        cls.person_fac = FacultyManagerFactory()
        cls.academic_yr = create_current_academic_year()
        cls.academic_yr_1 = AcademicYearFactory.build(
            year=cls.academic_yr.year + 1)
        super(AcademicYear, cls.academic_yr_1).save()
        cls.academic_yr_2 = AcademicYearFactory.build(
            year=cls.academic_yr.year + 2)
        super(AcademicYear, cls.academic_yr_2).save()
        cls.academic_yr_6 = AcademicYearFactory.build(
            year=cls.academic_yr.year + 6)
        super(AcademicYear, cls.academic_yr_6).save()
        previous_academic_yr = AcademicYearFactory.build(
            year=cls.academic_yr.year - 1)
        super(AcademicYear, previous_academic_yr).save()

        cls.lunit_container_yr = LearningContainerYearFactory(
            academic_year=cls.academic_yr)
        cls.luy = LearningUnitYearFactory(
            academic_year=cls.academic_yr,
            learning_container_year=cls.lunit_container_yr,
            subtype=FULL,
            learning_unit=LearningUnitFactory(
                start_year=create_past_academic_year(),
                end_year=cls.academic_yr))
        academic_years = [
            cls.academic_yr, cls.academic_yr_1, cls.academic_yr_2
        ]
        generate_learning_unit_edition_calendars(academic_years)
Esempio n. 3
0
    def setUp(self):
        today = datetime.date.today()
        # academic year 1
        self.start_date_ay_1 = today.replace(year=today.year - 3)
        self.end_date_ay_1 = today.replace(year=today.year - 2)
        academic_year_1 = AcademicYearFactory.build(
            start_date=self.start_date_ay_1,
            end_date=self.end_date_ay_1,
            year=today.year - 3)
        academic_year_1.save()
        # academic year 1
        self.start_date_ay_2 = today.replace(year=today.year - 2)
        self.end_date_ay_2 = today.replace(year=today.year - 1)
        academic_year_2 = AcademicYearFactory.build(
            start_date=self.start_date_ay_2,
            end_date=self.end_date_ay_2,
            year=today.year - 2)
        academic_year_2.save()
        self.an_education_group = EducationGroupFactory()
        # education group year for acy 1
        self.education_group_year_acy1_1 = EducationGroupYearFactory(
            education_group=self.an_education_group,
            academic_year=academic_year_1)
        education_group_year_acy1_2 = EducationGroupYearFactory(
            education_group=self.an_education_group,
            academic_year=academic_year_1)
        # education group year for acy 2
        education_group_year_acy2_1 = EducationGroupYearFactory(
            education_group=self.an_education_group,
            academic_year=academic_year_2)
        # mandates
        self.mandate_secretary = MandateFactory(
            education_group=self.an_education_group,
            function=mandate_types.SECRETARY)
        self.mandate_president = MandateFactory(
            education_group=self.an_education_group,
            function=mandate_types.PRESIDENT)
        # Mandataries during academic year 1 period
        self.mandatary_secretary_egy1 = MandataryFactory(
            mandate=self.mandate_secretary,
            start_date=self.start_date_ay_1,
            end_date=self.end_date_ay_1)
        self.mandatary_president_egy1 = MandataryFactory(
            mandate=self.mandate_president,
            start_date=self.start_date_ay_1,
            end_date=self.end_date_ay_1)

        # Mandataries during academic year 2 period
        mandatary_secretary_egy_2 = MandataryFactory(
            mandate=self.mandate_secretary,
            start_date=self.start_date_ay_2,
            end_date=self.end_date_ay_2)
Esempio n. 4
0
    def test_find_by_education_group_year(self):
        today = datetime.date.today()
        # academic year 1
        start_date_ay_1 = today.replace(year=today.year - 3)
        end_date_ay_1 = today.replace(year=today.year - 2)
        academic_year_1 = AcademicYearFactory.build(start_date=start_date_ay_1,
                                                    end_date=end_date_ay_1,
                                                    year=today.year - 3)
        academic_year_1.save()
        # academic year 1
        start_date_ay_2 = today.replace(year=today.year - 2)
        end_date_ay_2 = today.replace(year=today.year - 1)
        academic_year_2 = AcademicYearFactory.build(start_date=start_date_ay_2,
                                                    end_date=end_date_ay_2,
                                                    year=today.year - 2)
        academic_year_2.save()

        an_education_group = EducationGroupFactory()
        # education group year for acy 1
        education_group_year_acy1_1 = EducationGroupYearFactory(
            education_group=an_education_group, academic_year=academic_year_1)
        education_group_year_acy1_2 = EducationGroupYearFactory(
            education_group=an_education_group, academic_year=academic_year_1)
        # education group year for acy 2
        education_group_year_acy2_1 = EducationGroupYearFactory(
            education_group=an_education_group, academic_year=academic_year_2)
        # mandates
        mandate_secretary = MandateFactory(education_group=an_education_group,
                                           function=mandate_types.SECRETARY)
        mandate_president = MandateFactory(education_group=an_education_group,
                                           function=mandate_types.PRESIDENT)

        # Mandataries during academic year 1 period
        mandatary_secretary_egy1 = MandataryFactory(mandate=mandate_secretary,
                                                    start_date=start_date_ay_1,
                                                    end_date=end_date_ay_1)
        mandatary_president_egy1 = MandataryFactory(mandate=mandate_president,
                                                    start_date=start_date_ay_1,
                                                    end_date=end_date_ay_1)

        # Mandataries during academic year 2 period
        mandatary_secretary_egy_2 = MandataryFactory(
            mandate=mandate_secretary,
            start_date=start_date_ay_2,
            end_date=end_date_ay_2)

        self.assertListEqual(
            list(
                mandatary.find_by_education_group_year(
                    education_group_year_acy1_1)),
            [mandatary_president_egy1, mandatary_secretary_egy1])
Esempio n. 5
0
 def create_list_of_academic_years(start_year, end_year):
     results = None
     if start_year and end_year:
         results = [AcademicYearFactory.build(year=year) for year in range(start_year, end_year + 1)]
         for result in results:
             super(AcademicYear, result).save()
     return results
Esempio n. 6
0
 def test_start_date_year_same_of_year(self):
     academic_year = AcademicYearFactory.build(
         year=now.year,
         start_date=datetime.datetime(now.year + 1, now.month, 15),
         end_date=datetime.datetime(now.year + 1, now.month, 28))
     with self.assertRaises(AttributeError):
         academic_year.save()
Esempio n. 7
0
 def setUp(self):
     today = datetime.date.today()
     self.faculty_user = factory_user.UserFactory()
     self.faculty_user.groups.add(
         Group.objects.get(name=FACULTY_MANAGER_GROUP))
     self.faculty_person = factory_person.PersonFactory(
         user=self.faculty_user)
     self.faculty_user.user_permissions.add(
         Permission.objects.get(codename='can_propose_learningunit'))
     self.faculty_user.user_permissions.add(
         Permission.objects.get(codename='can_create_learningunit'))
     self.super_user = factory_user.SuperUserFactory()
     self.person = factory_person.PersonFactory(user=self.super_user)
     self.academic_year = AcademicYearFactory.build(
         start_date=today.replace(year=today.year + 1),
         end_date=today.replace(year=today.year + 2),
         year=today.year + 1)
     super(AcademicYear, self.academic_year).save()
     self.language = LanguageFactory(code='FR')
     self.organization = organization_factory.OrganizationFactory(
         type=organization_type.MAIN)
     self.campus = campus_factory.CampusFactory(
         organization=self.organization, is_administration=True)
     self.entity = EntityFactory(organization=self.organization)
     self.entity_version = EntityVersionFactory(
         entity=self.entity,
         entity_type=entity_type.SCHOOL,
         start_date=today - datetime.timedelta(days=1),
         end_date=today.replace(year=today.year + 1))
     PersonEntityFactory(person=self.faculty_person, entity=self.entity)
Esempio n. 8
0
    def setUp(self):
        self.academic_year_1 = AcademicYearFactory.build(
            start_date=today.replace(year=today.year + 1),
            end_date=today.replace(year=today.year + 2),
            year=today.year + 1)
        self.academic_year_2 = AcademicYearFactory.build(
            start_date=today.replace(year=today.year + 2),
            end_date=today.replace(year=today.year + 3),
            year=today.year + 2)
        self.academic_year_3 = AcademicYearFactory.build(
            start_date=today.replace(year=today.year + 3),
            end_date=today.replace(year=today.year + 4),
            year=today.year + 3)
        self.academic_year_4 = AcademicYearFactory.build(
            start_date=today.replace(year=today.year + 4),
            end_date=today.replace(year=today.year + 5),
            year=today.year + 4)
        self.academic_year_5 = AcademicYearFactory.build(
            start_date=today.replace(year=today.year + 5),
            end_date=today.replace(year=today.year + 6),
            year=today.year + 5)
        self.academic_year_6 = AcademicYearFactory.build(
            start_date=today.replace(year=today.year + 6),
            end_date=today.replace(year=today.year + 7),
            year=today.year + 6)
        self.current_academic_year = AcademicYearFactory.build(
            start_date=today,
            end_date=today.replace(year=today.year + 1),
            year=today.year)
        self.current_academic_year.save()
        super(AcademicYear, self.academic_year_1).save()
        super(AcademicYear, self.academic_year_2).save()
        super(AcademicYear, self.academic_year_3).save()
        super(AcademicYear, self.academic_year_4).save()
        super(AcademicYear, self.academic_year_5).save()
        super(AcademicYear, self.academic_year_6).save()

        self.current_academic_calendar = AcademicCalendarFactory.build(
            academic_year=self.current_academic_year)
        self.current_academic_calendar.save(functions=[])
        self.academic_calendar_1 = AcademicCalendarFactory.build(
            academic_year=self.academic_year_1)
        self.academic_calendar_1.save(functions=[])
        AcademicCalendarFactory.build(academic_year=self.academic_year_2).save(
            functions=[])
        AcademicCalendarFactory.build(academic_year=self.academic_year_3).save(
            functions=[])
        AcademicCalendarFactory.build(academic_year=self.academic_year_4).save(
            functions=[])
        AcademicCalendarFactory.build(academic_year=self.academic_year_5).save(
            functions=[])
        AcademicCalendarFactory.build(academic_year=self.academic_year_6).save(
            functions=[])
def create_academic_years():
    academic_years_to_create = LEARNING_UNIT_CREATION_SPAN_YEARS + 2
    current_academic_year = create_current_academic_year()
    academic_years = [current_academic_year]

    for i in range(1, academic_years_to_create + 1):
        new_academic_year = AcademicYearFactory.build(
            year=current_academic_year.year + i,
            start_date=current_academic_year.start_date +
            datetime.timedelta(days=365 * i),
            end_date=current_academic_year.end_date +
            datetime.timedelta(days=365 * i))
        super(AcademicYear, new_academic_year).save()
        academic_years.append(new_academic_year)
    return academic_years
Esempio n. 10
0
    def setUp(self):
        self.academic_years = [
            AcademicYearFactory.build(
                start_date=today.replace(year=today.year + i),
                end_date=today.replace(year=today.year + 1 + i),
                year=today.year + i) for i in range(7)
        ]

        self.academic_years[0].save()
        for i in range(1, 7):
            super(AcademicYear, self.academic_years[i]).save()

        self.academic_calendars = [
            AcademicCalendarFactory(academic_year=self.academic_years[i])
            for i in range(7)
        ]
Esempio n. 11
0
    def setUp(self):
        today = datetime.date.today()
        self.academic_year_1 = AcademicYearFactory.build(
            start_date=today.replace(year=today.year + 1),
            end_date=today.replace(year=today.year + 2),
            year=today.year + 1)
        self.academic_year_2 = AcademicYearFactory.build(
            start_date=today.replace(year=today.year + 2),
            end_date=today.replace(year=today.year + 3),
            year=today.year + 2)
        self.academic_year_3 = AcademicYearFactory.build(
            start_date=today.replace(year=today.year + 3),
            end_date=today.replace(year=today.year + 4),
            year=today.year + 3)
        self.academic_year_4 = AcademicYearFactory.build(
            start_date=today.replace(year=today.year + 4),
            end_date=today.replace(year=today.year + 5),
            year=today.year + 4)
        self.academic_year_5 = AcademicYearFactory.build(
            start_date=today.replace(year=today.year + 5),
            end_date=today.replace(year=today.year + 6),
            year=today.year + 5)
        self.academic_year_6 = AcademicYearFactory.build(
            start_date=today.replace(year=today.year + 6),
            end_date=today.replace(year=today.year + 7),
            year=today.year + 6)
        self.current_academic_year = AcademicYearFactory(
            start_date=today,
            end_date=today.replace(year=today.year + 1),
            year=today.year)
        super(AcademicYear, self.academic_year_1).save()
        super(AcademicYear, self.academic_year_2).save()
        super(AcademicYear, self.academic_year_3).save()
        super(AcademicYear, self.academic_year_4).save()
        super(AcademicYear, self.academic_year_5).save()
        super(AcademicYear, self.academic_year_6).save()
        self.learning_container_yr = LearningContainerYearFactory(
            academic_year=self.current_academic_year)
        self.learning_component_yr = LearningComponentYearFactory(
            learning_container_year=self.learning_container_yr)
        self.organization = OrganizationFactory(type=organization_type.MAIN)
        self.country = CountryFactory()
        self.entity = EntityFactory(country=self.country,
                                    organization=self.organization)
        self.entity_2 = EntityFactory(country=self.country,
                                      organization=self.organization)
        self.entity_3 = EntityFactory(country=self.country,
                                      organization=self.organization)
        self.entity_container_yr = EntityContainerYearFactory(
            learning_container_year=self.learning_container_yr,
            type=entity_container_year_link_type.REQUIREMENT_ENTITY,
            entity=self.entity)
        self.entity_container_yr_2 = EntityContainerYearFactory(
            learning_container_year=self.learning_container_yr,
            type=entity_container_year_link_type.REQUIREMENT_ENTITY,
            entity=self.entity_2)
        self.entity_container_yr_3 = EntityContainerYearFactory(
            learning_container_year=self.learning_container_yr,
            type=entity_container_year_link_type.REQUIREMENT_ENTITY,
            entity=self.entity_3)
        self.entity_version = EntityVersionFactory(
            entity=self.entity,
            entity_type=entity_type.SCHOOL,
            start_date=today,
            end_date=today.replace(year=today.year + 1))

        self.campus = CampusFactory(organization=self.organization,
                                    is_administration=True,
                                    code="L")
        self.language = LanguageFactory(code='FR')
        self.a_superuser = SuperUserFactory()
        self.person = PersonFactory(user=self.a_superuser)
        PersonEntityFactory(person=self.person, entity=self.entity)
        PersonEntityFactory(person=self.person, entity=self.entity_2)
        PersonEntityFactory(person=self.person, entity=self.entity_3)
        self.client.force_login(self.a_superuser)
Esempio n. 12
0
    def test_when_valid_form_data(self):
        today = datetime.date.today()
        academic_year_1 = AcademicYearFactory.build(
            start_date=today.replace(year=today.year + 1),
            end_date=today.replace(year=today.year + 2),
            year=today.year + 1)
        academic_year_2 = AcademicYearFactory.build(
            start_date=today.replace(year=today.year + 2),
            end_date=today.replace(year=today.year + 3),
            year=today.year + 2)
        academic_year_3 = AcademicYearFactory.build(
            start_date=today.replace(year=today.year + 3),
            end_date=today.replace(year=today.year + 4),
            year=today.year + 3)
        academic_year_4 = AcademicYearFactory.build(
            start_date=today.replace(year=today.year + 4),
            end_date=today.replace(year=today.year + 5),
            year=today.year + 4)
        academic_year_5 = AcademicYearFactory.build(
            start_date=today.replace(year=today.year + 5),
            end_date=today.replace(year=today.year + 6),
            year=today.year + 5)
        academic_year_6 = AcademicYearFactory.build(
            start_date=today.replace(year=today.year + 6),
            end_date=today.replace(year=today.year + 7),
            year=today.year + 6)
        current_academic_year = AcademicYearFactory(
            start_date=today,
            end_date=today.replace(year=today.year + 1),
            year=today.year)
        super(AcademicYear, academic_year_1).save()
        super(AcademicYear, academic_year_2).save()
        super(AcademicYear, academic_year_3).save()
        super(AcademicYear, academic_year_4).save()
        super(AcademicYear, academic_year_5).save()
        super(AcademicYear, academic_year_6).save()

        organization = OrganizationFactory(type=organization_type.MAIN)
        campus = CampusFactory(organization=organization)
        entity = EntityFactory(organization=organization)
        entity_version = EntityVersionFactory(
            entity=entity,
            entity_type=entity_type.SCHOOL,
            start_date=today,
            end_date=today.replace(year=today.year + 1))
        language = LanguageFactory()

        form_data = {
            "first_letter": "L",
            "acronym": "TAU2000",
            "container_type": COURSE,
            "academic_year": current_academic_year.id,
            "status": True,
            "periodicity": ANNUAL,
            "credits": "5",
            "campus": campus.id,
            "internship_subtype": TEACHING_INTERNSHIP,
            "title": "LAW",
            "title_english": "LAW",
            "requirement_entity": entity_version.id,
            "subtype": learning_unit_year_subtypes.FULL,
            "language": language.id,
            "session": SESSION_P23,
            "faculty_remark": "faculty remark",
            "other_remark": "other remark"
        }

        response = self.client.post(self.url, data=form_data)
        self.assertEqual(response.status_code, 200)
Esempio n. 13
0
    def setUp(self):
        self.current_academic_year = create_current_academic_year()
        self.start_date_ay_1 = self.current_academic_year.start_date.replace(
            year=self.current_academic_year.year + 1)
        self.end_date_ay_1 = self.current_academic_year.end_date.replace(
            year=self.current_academic_year.year + 2)
        self.previous_academic_year = AcademicYearFactory(
            year=self.current_academic_year.year - 1)
        academic_year_1 = AcademicYearFactory.build(
            start_date=self.start_date_ay_1,
            end_date=self.end_date_ay_1,
            year=self.current_academic_year.year + 1)
        academic_year_1.save()

        self.start_date_ay_2 = self.current_academic_year.start_date.replace(
            year=self.current_academic_year.year + 2)
        self.end_date_ay_2 = self.current_academic_year.end_date.replace(
            year=self.current_academic_year.year + 3)
        academic_year_2 = AcademicYearFactory.build(
            start_date=self.start_date_ay_2,
            end_date=self.end_date_ay_2,
            year=self.current_academic_year.year + 2)
        academic_year_2.save()

        self.education_group_year = GroupFactory()

        EntityVersionFactory(
            entity=self.education_group_year.management_entity,
            start_date=self.education_group_year.academic_year.start_date)

        EntityVersionFactory(
            entity=self.education_group_year.administration_entity,
            start_date=self.education_group_year.academic_year.start_date)

        AuthorizedRelationshipFactory(
            parent_type=self.education_group_year.education_group_type,
            child_type=self.education_group_year.education_group_type)

        self.url = reverse(update_education_group,
                           kwargs={
                               "root_id":
                               self.education_group_year.pk,
                               "education_group_year_id":
                               self.education_group_year.pk
                           })
        self.person = CentralManagerFactory()
        PersonEntityFactory(person=self.person,
                            entity=self.education_group_year.management_entity)
        self.client.force_login(self.person.user)
        permission = Permission.objects.get(codename='change_educationgroup')
        self.person.user.user_permissions.add(permission)
        self.perm_patcher = mock.patch(
            "base.business.education_groups.perms._is_eligible_certificate_aims",
            return_value=True)
        self.mocked_perm = self.perm_patcher.start()

        self.an_training_education_group_type = EducationGroupTypeFactory(
            category=education_group_categories.TRAINING)

        self.previous_training_education_group_year = TrainingFactory(
            academic_year=self.previous_academic_year,
            education_group_type=self.an_training_education_group_type,
            education_group__start_year=1968)

        EntityVersionFactory(
            entity=self.previous_training_education_group_year.
            management_entity,
            start_date=self.previous_training_education_group_year.
            academic_year.start_date)

        EntityVersionFactory(
            entity=self.previous_training_education_group_year.
            administration_entity,
            start_date=self.previous_training_education_group_year.
            academic_year.start_date)

        self.training_education_group_year = TrainingFactory(
            academic_year=self.current_academic_year,
            education_group_type=self.an_training_education_group_type,
            education_group__start_year=1968)

        self.training_education_group_year_1 = TrainingFactory(
            academic_year=academic_year_1,
            education_group_type=self.an_training_education_group_type,
            education_group=self.training_education_group_year.education_group)

        self.training_education_group_year_2 = TrainingFactory(
            academic_year=academic_year_2,
            education_group_type=self.an_training_education_group_type,
            education_group=self.training_education_group_year.education_group)

        AuthorizedRelationshipFactory(
            parent_type=self.an_training_education_group_type,
            child_type=self.an_training_education_group_type,
        )

        EntityVersionFactory(
            entity=self.training_education_group_year.management_entity,
            start_date=self.education_group_year.academic_year.start_date)

        EntityVersionFactory(
            entity=self.training_education_group_year.administration_entity,
            start_date=self.education_group_year.academic_year.start_date)

        self.training_url = reverse(update_education_group,
                                    args=[
                                        self.training_education_group_year.pk,
                                        self.training_education_group_year.pk
                                    ])
        PersonEntityFactory(
            person=self.person,
            entity=self.training_education_group_year.management_entity)

        self.domains = [DomainFactory() for x in range(10)]

        self.a_mini_training_education_group_type = EducationGroupTypeFactory(
            category=education_group_categories.MINI_TRAINING)

        self.mini_training_education_group_year = MiniTrainingFactory(
            academic_year=self.current_academic_year,
            education_group_type=self.a_mini_training_education_group_type)

        self.mini_training_url = reverse(
            update_education_group,
            args=[
                self.mini_training_education_group_year.pk,
                self.mini_training_education_group_year.pk
            ])
        PersonEntityFactory(
            person=self.person,
            entity=self.mini_training_education_group_year.management_entity)

        EntityVersionFactory(
            entity=self.mini_training_education_group_year.management_entity,
            start_date=self.education_group_year.academic_year.start_date)