toulouse-maelis: factorize childs and RLs data (#75455)
gitea/passerelle/pipeline/head This commit looks good Details

This commit is contained in:
Nicolas Roche 2023-03-15 15:24:51 +01:00 committed by Gitea
parent 4cecb8af77
commit 39a90a96ef
1 changed files with 33 additions and 50 deletions

View File

@ -542,6 +542,33 @@ class ToulouseMaelis(BaseResource, HTTPResource):
if value is None:
dico[key] = ''
def read_rl_list_raw(self, family_id, text_template=None, income_year=None):
result = self.get_family_raw(family_id, incomeYear=income_year)
if not text_template:
text_template = '{{ lastname }} {{ firstname }}'
for rlg in 'RL1', 'RL2':
item = result.get(rlg)
if not item:
break
self.add_text_value_to_rl(item)
item['id'] = item['num']
item['text'] = render_to_string(text_template, item).strip()
item['family_id'] = family_id
yield item
def read_child_list_raw(self, family_id, text_template=None):
result = self.get_family_raw(family_id)
if not text_template:
text_template = '{{ lastname }} {{ firstname }}'
for item in result['childList']:
self.add_text_value_to_child(item)
item['id'] = item['num']
item['text'] = render_to_string(text_template, item).strip()
item['family_id'] = family_id
yield item
def get_person_activity_list_raw(
self,
family_id,
@ -961,21 +988,7 @@ class ToulouseMaelis(BaseResource, HTTPResource):
)
def read_rl_list(self, request, NameID=None, family_id=None, text_template=None, income_year=None):
family_id = family_id or self.get_link(NameID).family_id
result = self.get_family_raw(family_id, incomeYear=income_year)
if not text_template:
text_template = '{{ lastname }} {{ firstname }}'
data = []
for rlg in 'RL1', 'RL2':
item = result.get(rlg)
if not item:
break
self.add_text_value_to_rl(item)
item['id'] = item['num']
item['text'] = render_to_string(text_template, item).strip()
item['family_id'] = family_id
data.append(item)
return {'data': data}
return {'data': list(self.read_rl_list_raw(family_id, text_template))}
@endpoint(
display_category='Famille',
@ -1022,18 +1035,7 @@ class ToulouseMaelis(BaseResource, HTTPResource):
)
def read_child_list(self, request, NameID=None, family_id=None, text_template=None):
family_id = family_id or self.get_link(NameID).family_id
result = self.get_family_raw(family_id)
if not text_template:
text_template = '{{ lastname }} {{ firstname }}'
data = []
for item in result['childList']:
self.add_text_value_to_child(item)
item['id'] = item['num']
item['text'] = render_to_string(text_template, item).strip()
item['family_id'] = family_id
data.append(item)
return {'data': data}
return {'data': list(self.read_child_list_raw(family_id, text_template))}
@endpoint(
display_category='Famille',
@ -1057,29 +1059,10 @@ class ToulouseMaelis(BaseResource, HTTPResource):
self, request, NameID=None, family_id=None, rl_text_template=None, child_text_template=None
):
family_id = family_id or self.get_link(NameID).family_id
result = self.get_family_raw(family_id)
if not rl_text_template:
rl_text_template = '{{ lastname }} {{ firstname }}'
if not child_text_template:
child_text_template = '{{ lastname }} {{ firstname }}'
data = []
for rlg in 'RL1', 'RL2':
item = result.get(rlg)
if not item:
break
self.add_text_value_to_rl(item)
item['id'] = item['num']
item['text'] = render_to_string(rl_text_template, item).strip()
item['family_id'] = family_id
data.append(item)
for item in result['childList']:
self.add_text_value_to_child(item)
item['id'] = item['num']
item['text'] = render_to_string(child_text_template, item).strip()
item['family_id'] = family_id
data.append(item)
return {'data': data}
return {
'data': list(self.read_rl_list_raw(family_id, rl_text_template))
+ list(self.read_child_list_raw(family_id, child_text_template))
}
@endpoint(
display_category='Famille',