0001-mdel-construct-a-foreign-addres-from-french-addres-f.patch
passerelle/apps/mdel/models.py | ||
---|---|---|
264 | 264 |
formdata[key] = formdata[key].upper() |
265 | 265 | |
266 | 266 |
# Merging street number and street name |
267 |
formdata['demandeur_adresse_voie'] = '%s %s' % (formdata.get('demandeur_adresse_num', ''), |
|
268 |
formdata.get('demandeur_adresse_voie')) |
|
267 |
demandeur_adresse_voie = formdata.get('demandeur_adresse_voie') |
|
268 |
demandeur_adresse_num = formdata.get('demandeur_adresse_num') |
|
269 |
if demandeur_adresse_voie and demandeur_adresse_num: |
|
270 |
formdata['demandeur_adresse_voie'] = '%s %s' % (demandeur_adresse_num, demandeur_adresse_voie) |
|
271 | ||
269 | 272 |
# Set foreign address if country is not France |
273 |
adresse_keys = ['etage', 'batiment', 'voie', 'code_postal', 'ville'] |
|
274 |
adresse_keys = ['demandeur_adresse_%s' % key for key in adresse_keys] |
|
270 | 275 |
demandeur_adresse_pays_raw = formdata.get('demandeur_adresse_pays_raw') |
271 | 276 |
demandeur_adresse_etrangere = formdata.get('demandeur_adresse_etrangere') |
272 |
if demandeur_adresse_pays_raw and demandeur_adresse_pays_raw != 'FRA': |
|
273 |
formdata['demandeur_adresse_etrangere_pays_raw'] = formdata.pop('demandeur_adresse_pays_raw') |
|
277 |
demandeur_adresse_etrangere_pays_raw = formdata.get('demandeur_adresse_etrangere_pays_raw') |
|
278 |
if (demandeur_adresse_etrangere_pays_raw |
|
279 |
or (demandeur_adresse_pays_raw and demandeur_adresse_pays_raw != 'FRA')): |
|
280 |
formdata.pop('demandeur_adresse_pays_raw', None) |
|
281 |
if not demandeur_adresse_etrangere_pays_raw: |
|
282 |
formdata['demandeur_adresse_etrangere_pays_raw'] = demandeur_adresse_pays_raw |
|
274 | 283 |
if demandeur_adresse_etrangere: |
275 | 284 |
# dismiss french address if the foreign one is filled |
276 |
formdata.pop('demandeur_adresse_voie', None)
|
|
277 |
formdata.pop('demandeur_adresse_ville', None)
|
|
278 |
formdata.pop('demandeur_adresse_code_postal', None)
|
|
285 |
for key in adresse_keys:
|
|
286 |
if key in formdata:
|
|
287 |
del formdata[key]
|
|
279 | 288 |
else: |
280 |
adresse_etrangere = formdata.pop('demandeur_adresse_voie', '') |
|
281 |
if formdata.get('demandeur_adresse_ville'): |
|
282 |
adresse_etrangere += ', %s' % formdata['demandeur_adresse_ville'] |
|
283 |
if formdata.get('demandeur_adresse_code_postal'): |
|
284 |
adresse_etrangere += ', %s' % formdata['demandeur_adresse_code_postal'] |
|
285 |
formdata['demandeur_adresse_etrangere'] = adresse_etrangere |
|
289 |
# build foreign address from french address fields |
|
290 |
adresse_etrangere = [] |
|
291 |
for key in adresse_keys: |
|
292 |
value = formdata.pop(key, '') |
|
293 |
if value: |
|
294 |
if key != 'demandeur_adresse_ville': |
|
295 |
adresse_etrangere.append(value) |
|
296 |
else: |
|
297 |
adresse_etrangere[-1] += ' %s' % value |
|
298 |
formdata['demandeur_adresse_etrangere'] = ', '.join(adresse_etrangere) |
|
286 | 299 | |
287 | 300 |
# Set aec_nature if aec_type_raw == DECES |
288 | 301 |
if formdata.get('aec_type_raw') == 'DECES' and not formdata.get('aec_nature_raw'): |
tests/data/mdel/formdata_aec_naiss.json | ||
---|---|---|
25 | 25 |
"fields": { |
26 | 26 |
"aec_nature": "Copie int\u00e9grale", |
27 | 27 |
"aec_nature_raw": "COPIE-INTEGRALE", |
28 |
"demandeur_adresse_code_postal": "54000", |
|
28 |
"demandeur_adresse_etage": "3ème", |
|
29 |
"demandeur_adresse_batiment": "Bâtiment B", |
|
30 |
"demandeur_adresse_code_postal": "3800", |
|
29 | 31 |
"demandeur_adresse_num": "37", |
30 | 32 |
"demandeur_adresse_pays_raw": "Suisse", |
31 |
"demandeur_adresse_ville": "Nancy",
|
|
32 |
"demandeur_adresse_voie": "Rue de l'Aigle Blanc",
|
|
33 |
"demandeur_adresse_ville": "Bern",
|
|
34 |
"demandeur_adresse_voie": "rue de Paris",
|
|
33 | 35 |
"demandeur_civilite": "Madame", |
34 | 36 |
"demandeur_civilite_raw": "Madame", |
35 | 37 |
"demandeur_email": "chelsea@whatever.com", |
36 | 38 |
"demandeur_nom": "Whatever", |
37 | 39 |
"demandeur_prenom": "Chelsea", |
38 | 40 |
"demandeur_telephone": "0122334455", |
39 |
"demandeur_adresse_etrangere": "1, rue de Paris, 3800 Bern, Suisse", |
|
40 | 41 |
"motif_demande": "Certificat de nationalit\u00e9 fran\u00e7aise", |
41 | 42 |
"motif_demande_raw": "CertificatDeNationaliteFrancaise", |
42 | 43 |
"nombre_exemplaires": "2", |
tests/test_mdel.py | ||
---|---|---|
161 | 161 |
assert root.find('DemandeActe/Demandeur/Telephone').text == '0122334455' |
162 | 162 |
assert root.find('DemandeActe/Demandeur/QualiteDemandeur/Code').text == 'Fils' |
163 | 163 |
assert root.find('DemandeActe/Demandeur/AdresseEtrangere/Pays').text == 'Suisse' |
164 |
assert root.find('DemandeActe/Demandeur/AdresseEtrangere/Adresse').text == '1, rue de Paris, 3800 Bern, Suisse'
|
|
164 |
assert root.find('DemandeActe/Demandeur/AdresseEtrangere/Adresse').text == '3ème, Bâtiment B, 37 rue de Paris, 3800 Bern'
|
|
165 | 165 | |
166 | 166 |
assert not root.find('DemandeActe/Demandeur/AdresseFrancaise/CodePostal') |
167 | 167 |
assert not root.find('DemandeActe/Demandeur/AdresseFrancaise/Ville') |
168 |
- |