toulouse-maelis: passer les natures des activités en paramètre du connecteur (#75752) #159

Merged
nroche merged 6 commits from wip/75752-parsifal-add-natures-fields into main 2023-03-29 12:28:28 +02:00
1 changed files with 12 additions and 5 deletions
Showing only changes of commit 940979b2f3 - Show all commits

View File

@ -1877,7 +1877,11 @@ class ToulouseMaelis(BaseResource, HTTPResource):
activity = schedule['activity']
if not activity['activityType']['natureSpec']:
continue
if activity['activityType']['natureSpec']['code'] not in ['A', 'R', 'X']:
if (
activity['activityType']['natureSpec']['code'] not in self.get_perisco_nature_codes()
and activity['activityType']['natureSpec']['code']
not in self.get_extrasco_nature_codes()
):
continue
activity_id = activity['idAct']
many_units = len(schedule['unitScheduleList']) > 1
@ -1893,7 +1897,8 @@ class ToulouseMaelis(BaseResource, HTTPResource):
'prefill': day['scheduledPresence'] > 0 or day['realPresence'] > 1,
'disabled': (
day['status'] != 'WRITABLE'
or activity['activityType']['natureSpec']['code'] in ['X']
or activity['activityType']['natureSpec']['code']
in self.get_extrasco_nature_codes()
),
'details': day,
}
@ -1903,7 +1908,10 @@ class ToulouseMaelis(BaseResource, HTTPResource):
booking['details']['status_color'] = color
booking['details']['activity_id'] = activity_id
booking['details']['activity_type'] = activity['activityType']['code']
if activity['activityType']['natureSpec']['code'] in ['A', 'R']:
if (
activity['activityType']['natureSpec']['code']
in self.get_perisco_nature_codes()
):
booking['details']['activity_label'] = activity['activityType']['libelle']
else:
booking['details']['activity_label'] = (
@ -2303,8 +2311,7 @@ class ToulouseMaelis(BaseResource, HTTPResource):
def read_activity_list(self, request, ref_date, nature_ids=None):
reference_year = utils.get_reference_year_from_date(ref_date)
if not nature_ids:
# actual loisir nature codes
nature_filter_codes = ['P', 'L', 'S'] + [str(i) for i in range(1, 10)]
nature_filter_codes = self.get_loisir_nature_codes()
else:
nature_filter_codes = [x.strip() for x in nature_ids.split(',') if x.strip()]
labels = {