toulouse-maelis: rewrite filtering in personnal catalog (#75752)
gitea/passerelle/pipeline/head This commit looks good Details

This commit is contained in:
Nicolas Roche 2023-03-25 02:33:16 +01:00
parent bd485a77df
commit f2a66ff67b
1 changed files with 12 additions and 12 deletions

View File

@ -606,6 +606,7 @@ class ToulouseMaelis(BaseResource, HTTPResource):
nature_filter_codes = self.get_loisir_nature_codes()
else:
nature_filter_codes = None
type_filter_codes = [x.strip() for x in str(type_ids or '').split(',') if x.strip()]
params = {
'numDossier': family_id,
@ -617,20 +618,19 @@ class ToulouseMaelis(BaseResource, HTTPResource):
data = self.call(
'Activity', 'getPersonCatalogueActivity', getPersonCatalogueActivityRequestBean=params
)
if type_ids:
codes = [x.strip() for x in type_ids.split(',') if x.strip()]
data['catalogueActivityList'] = [
a for a in data['catalogueActivityList'] if a['activity']['activityType']['code'] in codes
]
if nature_filter_codes:
activities = []
for activity in data['catalogueActivityList']:
activity_type = activity['activity'].get('activityType')
activity_nature = activity_type.get('natureSpec') if activity_type else None
activities = []
for item in data['catalogueActivityList']:
activity_type = item['activity'].get('activityType')
activity_nature = activity_type.get('natureSpec') if activity_type else None
if type_filter_codes:
if not activity_type or activity_type['code'] not in type_filter_codes:
continue
if nature_filter_codes:
if not activity_nature or activity_nature['code'] not in nature_filter_codes:
continue
activities.append(activity)
data['catalogueActivityList'] = activities
activities.append(item)
data['catalogueActivityList'] = activities
return data
def get_baskets_raw(self, family_id):