mdph13: add a text property to dossiers (fixes #31116)

This commit is contained in:
Benjamin Dauvergne 2019-03-06 12:18:02 +01:00
parent 5a269a9685
commit 884854c29e
2 changed files with 20 additions and 2 deletions

View File

@ -109,6 +109,8 @@ class MDPH13Resource(BaseResource, HTTPResource):
# Reorganize entourage
beneficiaire = data.get('beneficiaire', {})
if not isinstance(beneficiaire, dict):
raise APIError('beneficiaire-must-be-a-dict', data=data)
entourage = beneficiaire.get('entourage')
if entourage is not None:
if not isinstance(entourage, list):
@ -251,6 +253,19 @@ class MDPH13Resource(BaseResource, HTTPResource):
qs.delete()
return {'deleted': count}
@classmethod
def _make_display_name(cls, mdph_file):
prenom = mdph_file.get('beneficiaire', {}).get('prenom')
nom = mdph_file.get('beneficiaire', {}).get('nom')
numero = mdph_file['numero']
parts = []
if prenom:
parts.append(prenom)
if nom:
parts.append(nom)
parts.append(u'#%s' % numero)
return ' '.join(parts)
@endpoint(name='dossiers',
description=_('Get datas for all links, or for a specified one'),
perm='can_access',
@ -298,6 +313,7 @@ class MDPH13Resource(BaseResource, HTTPResource):
file_data.update(to_json().err_to_response(e))
else:
file_data.update({
'text': self._make_display_name(mdph_file),
'dossier': mdph_file,
})
data.append(file_data)

View File

@ -39,8 +39,8 @@ VALID_RESPONSE = json.dumps({
"data": {
"numero": FILE_NUMBER,
"beneficiaire": {
"nom": "MARTINI",
"prenom": "ALFONSO",
"nom": "Martini",
"prenom": "Alfonso",
"tel_mobile": "06 01 02 03 04",
"tel_fixe": "04.01.02.03.04",
"date_de_naissance": "1951-03-23",
@ -420,6 +420,7 @@ def test_dossier_ok(mdph13, mock_http):
assert response['data'][0]['numero_dossier'] == FILE_NUMBER
assert response['data'][0]['date_de_naissance'] == DOB.isoformat()
assert response['data'][0]['dossier']['numero'] == FILE_NUMBER
assert response['data'][0]['text'] == 'Alfonso Martini #%s' % FILE_NUMBER
assert len(response['data'][0]['dossier']['beneficiaire']['entourage']) == 2
assert len(response['data'][0]['dossier']['beneficiaire']['entourage']['parents']) == 2
assert len(response['data'][0]['dossier']['beneficiaire']['entourage']['aidants']) == 1
@ -442,6 +443,7 @@ def test_dossier_with_link_id_ok(mdph13, mock_http):
assert response['data']['numero_dossier'] == FILE_NUMBER
assert response['data']['date_de_naissance'] == DOB.isoformat()
assert response['data']['dossier']['numero'] == FILE_NUMBER
assert response['data']['text'] == 'Alfonso Martini #%s' % FILE_NUMBER
assert len(response['data']['dossier']['beneficiaire']['entourage']) == 2
assert len(response['data']['dossier']['beneficiaire']['entourage']['parents']) == 2
assert len(response['data']['dossier']['beneficiaire']['entourage']['aidants']) == 1