[FIX][14.0] l10n_it_fiscalcode - handle 'omocodia' - #5116
Conversation
|
Ma non è simile a #4511 ? Di la si era stati blocati a cambiare libreria |
non dovrebbe spaccarsi la libreria è dipendenza Odoo base |
Esatto, l'idea era quella, usare una libreria che dovrebbe essere installata comunque, essendo delle dipendenze di Odoo core. |
bdd026a to
c5d0c4a
Compare
|
La libreria nuova non supporta la generazione del CF. Quindi non possiamo liberarci completamente della vecchia. |
|
This PR has the |
monen17
left a comment
There was a problem hiding this comment.
Grazie della PR!
Ottimo usare la nuova libreria, tra l'altro è la stessa usata in 18.0 (https://github.com/odoo/odoo/blob/5d5f5381c27f67a8655a1c18bf1802c877d4cae2/addons/l10n_it_edi/models/res_partner.py#L3) 👏
| "depends": ["base_vat"], | ||
| "external_dependencies": { | ||
| "python": ["codicefiscale"], | ||
| "python": ["codicefiscale", "python-stdnum"], |
There was a problem hiding this comment.
Questa libreria è già compresa tra i requirements di Odoo (https://github.com/odoo/odoo/blob/cc0060e889603eb2e47fa44a8a22a70d7d784185/requirements.txt#L55), la puoi rimuovere da qui (e dalle modifiche a INSTALL) così vediamo se funziona tutto lo stesso?
| ) | ||
| partner.fiscalcode = wrong_person_fiscalcode | ||
| # pre-condition | ||
| self.assertFalse(isvalid(partner.fiscalcode)) |
There was a problem hiding this comment.
Come mai serve togliere questi assert?
Se è solo perché non si usa più isvalid, potresti modificarli per usare il nuovo is_valid, cosa ne pensi?
There was a problem hiding this comment.
Puoi togliere la versione dal titolo del commit? Attualmente è

Il commit deve seguire https://github.com/OCA/odoo-community.org/blob/master/website/Contribution/CONTRIBUTING.rst#71commit-message
There was a problem hiding this comment.
Ho verificato la differenza tra gli zip con diff --recursive xml_import_orig xml_import_pr:
diff --color --recursive xml_import_orig/IT05979361218_003.xml xml_import_pr/IT05979361218_003.xml
56c56
< <CodiceFiscale>MRORSS90E25B111T</CodiceFiscale>
---
> <CodiceFiscale>RSSMRA90B25B111S</CodiceFiscale>
diff --color --recursive xml_import_orig/IT05979361218_004.xml xml_import_pr/IT05979361218_004.xml
56c56
< <CodiceFiscale>MRORSS90E25B111T</CodiceFiscale>
---
> <CodiceFiscale>RSSMRA90B25B111S</CodiceFiscale>👍
| { | ||
| "name": "Person", | ||
| "is_company": False, | ||
| "fiscalcode": "RSSMRA70A01Z50QQ", |
There was a problem hiding this comment.
Confermo che con il vecchio metodo questo falliva:
>>> from codicefiscale import isvalid
>>> isvalid("RSSMRA70A01Z50QQ")
FalseIl codice non è valido per l'AdE (https://telemanagrafici.agenziaentrate.gov.it/VerificaCF/Scegli.do?parameter=verificaCf) solo perché non esiste, ma come mi hai spiegato la struttura è corretta perché ha una lettera invece di un numero nella penultima posizione
👍
Invece di usare https://pypi.org/project/codicefiscale/, che sembra poco mantenuta, vd. ema/pycodicefiscale#3
passiamo ad usare:
https://github.com/arthurdejong/python-stdnum
che supporta correttamente la validazione delle "omocodie".
La PR verrà portata avanti alla release successive se mergiata nella 14.