Esempio n. 1
0
    def test_get_entity_calendar_no_calendar(self):
        an_entity = EntityFactory()
        an_entity_version = EntityVersionFactory(entity=an_entity,
                                                 start_date=self.current_academic_year.start_date,
                                                 end_date=self.current_academic_year.end_date)
        self.assertIsNone(get_entity_calendar(an_entity_version, self.current_academic_year))

        an_academic_calendar = AcademicCalendarFactory(academic_year=self.current_academic_year,
                                                       start_date=self.current_academic_year.start_date,
                                                       end_date=self.current_academic_year.end_date,
                                                       reference=academic_calendar_type.EXAM_ENROLLMENTS)
        EntityCalendarFactory(entity=an_entity,
                              academic_calendar=an_academic_calendar,
                              start_date=an_academic_calendar.start_date,
                              end_date=an_academic_calendar.end_date)
        self.assertIsNone(get_entity_calendar(an_entity_version, self.current_academic_year))
Esempio n. 2
0
    def test_get_entity_calendar_with_parent_entity_calendar(self):
        an_entity_parent = EntityFactory()
        EntityVersionFactory(entity=an_entity_parent,
                             start_date=self.current_academic_year.start_date,
                             end_date=self.current_academic_year.end_date)
        an_entity_child = EntityFactory()
        an_child_entity_version = EntityVersionFactory(
            entity=an_entity_child,
            start_date=self.current_academic_year.start_date,
            end_date=self.current_academic_year.end_date,
            parent=an_entity_parent)

        an_academic_calendar = AcademicCalendarFactory(
            academic_year=self.current_academic_year,
            start_date=self.current_academic_year.start_date,
            end_date=self.current_academic_year.end_date,
            reference=academic_calendar_type.SUMMARY_COURSE_SUBMISSION)
        an_parent_entity_calendar = EntityCalendarFactory(
            entity=an_entity_parent,
            academic_calendar=an_academic_calendar,
            start_date=an_academic_calendar.start_date,
            end_date=an_academic_calendar.end_date)
        self.assertEqual(
            get_entity_calendar(an_child_entity_version,
                                self.current_academic_year),
            an_parent_entity_calendar)
Esempio n. 3
0
def _get_calendar(academic_yr, an_entity_version):
    a_calendar = get_entity_calendar(an_entity_version, academic_yr)
    if a_calendar is None:
        an_academic_calendar = find_academic_year_by_year(academic_yr.year)
        if an_academic_calendar:
            return an_academic_calendar
    return a_calendar
Esempio n. 4
0
def _get_calendar(academic_yr, an_entity_version):
    a_calendar = get_entity_calendar(an_entity_version, academic_yr)
    if a_calendar is None:
        a_calendar = academic_calendar.get_by_reference_and_academic_year(
            academic_calendar_type.SUMMARY_COURSE_SUBMISSION,
            academic_yr
        )
    return a_calendar
Esempio n. 5
0
def _get_calendar(academic_yr, an_entity_version):
    """ Try to fetch the academic calendar for the entity. If it is not found, return the academic calendar. """
    a_calendar = get_entity_calendar(an_entity_version, academic_yr)  # TODO slow method...
    if a_calendar is None:
        a_calendar = get_object_or_none(
            AcademicCalendar, reference=SUMMARY_COURSE_SUBMISSION, academic_year=academic_yr
        )
    return a_calendar