Example #1
0
    def test_get_attribution_list(self):
        attribution_list = attribution.get_attribution_list(
            self.person.global_id, self.academic_year)
        self.assertEqual(len(attribution_list), 3)

        academic_year_2016 = AcademicYear.objects.get(year=2016)
        attribution_list = attribution.get_attribution_list(
            self.person.global_id, academic_year_2016)
        self.assertEqual(len(attribution_list), 1)
    def test_get_attribution_list(self):
        attribution_list = attribution.get_attribution_list(
            self.person.global_id, self.current_academic_year)
        self.assertEqual(len(attribution_list), 3)

        previous_year = self.current_academic_year.year - 1
        academic_year_2016 = AcademicYear.objects.get(year=previous_year)
        attribution_list = attribution.get_attribution_list(
            self.person.global_id, academic_year_2016)
        self.assertEqual(len(attribution_list), 1)
Example #3
0
 def test_get_attribution_order(self):
     attribution_list = attribution.get_attribution_list(
         self.person.global_id, self.current_academic_year)
     self.assertEqual(len(attribution_list), 3)
     self.assertEqual(attribution_list[0]['acronym'], "LAGRO1530")
     self.assertEqual(attribution_list[1]['acronym'], "LBIR1200")
     self.assertEqual(attribution_list[2]['acronym'], "LBIR1300")
Example #4
0
def overview(request, global_id=None):
    tutor = mdl_base.tutor.find_by_user(request.user) if not global_id else \
                 mdl_base.tutor.find_by_person_global_id(global_id)

    # Applications for next year
    application_year = tutor_application.get_application_year()
    applications = tutor_application.get_application_list(
        global_id=tutor.person.global_id)

    # Attributions for next year
    attributions = attribution.get_attribution_list(
        global_id=tutor.person.global_id, academic_year=application_year)
    volume_total_attributions = attribution.get_volumes_total(attributions)

    # Attribution which will be expire this academic year
    current_academic_year = mdl_base.academic_year.current_academic_year()

    attributions_about_to_expired = attribution.get_attribution_list_about_to_expire(
        global_id=tutor.person.global_id, academic_year=current_academic_year)

    for attrib in attributions:
        attrib['teachers'] = attribution.get_teachers(attrib['acronym'],
                                                      application_year.year)

    for an_attribution in attributions:
        attribution.update_learning_unit_volume(an_attribution,
                                                application_year)
    if attributions_about_to_expired:
        for an_attribution in attributions_about_to_expired:
            attribution.update_learning_unit_volume(an_attribution,
                                                    application_year)
    return layout.render(
        request, "attribution_overview.html", {
            'a_tutor':
            tutor,
            'attributions':
            attributions,
            'current_academic_year':
            current_academic_year,
            'attributions_about_to_expire':
            attributions_about_to_expired,
            'application_year':
            application_year,
            'applications':
            applications,
            'tot_lecturing':
            volume_total_attributions.get(
                learning_component_year_type.LECTURING),
            'tot_practical':
            volume_total_attributions.get(
                learning_component_year_type.PRACTICAL_EXERCISES),
            'application_academic_calendar':
            mdl_base.academic_calendar.get_by_reference_and_academic_year(
                academic_calendar_type.TEACHING_CHARGE_APPLICATION,
                current_academic_year),
            'catalog_url':
            settings.ATTRIBUTION_CONFIG.get('CATALOG_URL')
        })
Example #5
0
 def test_computes_volumes_total(self):
     attribution_list = attribution.get_attribution_list(
         self.person.global_id, self.current_academic_year)
     volumes_total = attribution.get_volumes_total(attribution_list)
     self.assertTrue(volumes_total)
     self.assertEqual(
         volumes_total.get(learning_component_year_type.LECTURING),
         Decimal(53.5))
     self.assertEqual(
         volumes_total.get(
             learning_component_year_type.PRACTICAL_EXERCISES),
         Decimal(21.5))
Example #6
0
    def test_append_start_end_academic_year(self):
        attribution_list = attribution.get_attribution_list(
            self.person.global_id, self.academic_year)
        self.assertEqual(attribution_list[0]['acronym'], "LAGRO1530")
        self.assertTrue(attribution_list[0]['start_academic_year'])
        self.assertEqual(attribution_list[0]['start_academic_year'].year, 2015)
        self.assertEqual(attribution_list[0]['end_academic_year'].year, 2017)

        self.assertEqual(attribution_list[1]['acronym'], "LBIR1200")
        self.assertTrue(attribution_list[1]['start_academic_year'])
        self.assertEqual(attribution_list[1]['start_academic_year'].year, 2013)
        self.assertRaises(
            KeyError,
            lambda: attribution_list[1]['end_academic_year'])  # No end year

        self.assertEqual(attribution_list[2]['acronym'], "LBIR1300")
        self.assertTrue(attribution_list[2]['start_academic_year'])
        self.assertEqual(attribution_list[2]['start_academic_year'].year, 2015)
        self.assertEqual(attribution_list[2]['end_academic_year'].year, 2020)
Example #7
0
    def test_append_team_and_volume_delcared_vacant(self):
        #  Create Container Year and component
        _create_learning_container_with_components(
            acronym="LBIR1300",
            academic_year=self.current_academic_year,
            volume_lecturing=Decimal(15.5),
            volume_practical_exercices=Decimal(5))
        _create_learning_container_with_components(
            acronym="LBIR1200",
            academic_year=self.current_academic_year,
            volume_lecturing=Decimal(30),
            volume_practical_exercices=Decimal(75))
        _create_learning_container_with_components("LAGRO1530",
                                                   self.current_academic_year,
                                                   Decimal(30), Decimal(30))

        attribution_list = attribution.get_attribution_list(
            self.person.global_id, self.current_academic_year)
        self.assertEqual(attribution_list[0]['acronym'], "LAGRO1530")
        self.assertEqual(attribution_list[0]['volume_lecturing_vacant'],
                         Decimal(30))
        self.assertEqual(
            attribution_list[0]['volume_practical_exercices_vacant'],
            Decimal(30))
        self.assertEqual(attribution_list[0]['team'], False)
        self.assertEqual(attribution_list[1]['acronym'], "LBIR1200")
        self.assertEqual(attribution_list[1]['volume_lecturing_vacant'],
                         Decimal(30))
        self.assertEqual(
            attribution_list[1]['volume_practical_exercices_vacant'],
            Decimal(75))
        self.assertEqual(attribution_list[1]['team'], False)
        self.assertEqual(attribution_list[2]['acronym'], "LBIR1300")
        self.assertEqual(attribution_list[2]['volume_lecturing_vacant'],
                         Decimal(15.5))
        self.assertEqual(
            attribution_list[2]['volume_practical_exercices_vacant'],
            Decimal(5))
        self.assertEqual(attribution_list[2]['team'], False)
Example #8
0
 def test_get_attribution_list_empty(self):
     academic_year = AcademicYearFactory(year=1990)
     attribution_list = attribution.get_attribution_list(
         self.person.global_id, academic_year)
     self.assertFalse(attribution_list)