-
-
Notifications
You must be signed in to change notification settings - Fork 307
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[ADD] new module l10n_it_fatturapa_auto_downpayment #4230
base: 16.0
Are you sure you want to change the base?
[ADD] new module l10n_it_fatturapa_auto_downpayment #4230
Conversation
Non so dare una valutazione su questo caso specifico, ma credo che un obiettivo di oca-italy dovrebbe essere cercare di evitare la proliferazione di nuovi moduli per la contabilità... che ne pensate? |
0e68b98
to
9f96f96
Compare
Ho fatto sia una PR come modifica a modulo esistente e sia una PR come modulo nuovo. Il motivo per avere un nuovo modulo è solo per evitare di introdurre la dipendenza dal modulo |
fd91b78
to
5c5592b
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Functional test: OK
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Grazie della PR!
Potresti mettere [ADD] invece di [IMP] nel messaggio del commit?
[ADD] for adding new modules
Grande che hai messo un test 😄 fammi sapere cosa ne pensi delle note qui sotto, le uniche cose bloccanti per me sono nell'override
def _get_document_fiscal_type( | ||
self, move_type=None, partner=None, fiscal_position=None, journal=None | ||
): | ||
self.ensure_one() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Il metodo in super
def _get_document_fiscal_type( |
È possibile spostare questo vincolo e il resto del codice che ne ha bisogno dentro un
if len(self) == 1
o qualcosa di analogo?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
L'unico punto in cui è chiamata è la _compute_set_document_fiscal_type()
, all'interno di un loop fattura per fattura.
Piu di quello però, il valore di ritorno è un alista di possibili TDxx validi per una sola fattura. La funziona ignora self
di fatto (potrebbe essere @api.model
), ma gli vengono passati un solo partner, una sola posizione fiscale, un solo journal, relativi ad una sola fattura.
In pratica la funzione originale è usata come se fosse self.ensure_one()
e scritta come se fosse @api.model
. Non credo possa essere chiamata su un recordset, visto che per avere un risultato sensato dovresti assicurarti a priori che sono fatture con lo stesso partner, stessa fpos, stesso journal.
Io ho aggiunto self.ensure_one()
perché effettivamente uso self
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
È vero che il metodo in super
si comporta come un api.model
e il risultato dipende solo dai suoi parametri, però credo che questo sia un motivo in più perché l'override aggiunto in questa PR non debba aggiungere vincoli a self
.
Attualmente potrebbero esserci altri moduli che chiamano _get_document_fiscal_type
su un recordset e funzionano; dopo l'installazione di questo modulo invece verrebbe sollevato un errore, credo sia meglio evitarlo e rimanere compatibili con il codice esistente.
Non è detto che lo facciano perché si aspettano un risultato in base a self
, ma semplicemente perché è possibile farlo (come è possibile farlo per i metodi api.model
).
Corretto. Grazie per la review! |
b79d2be
to
8cbb8df
Compare
@TheMule71 ho aggiunto la PR che avevo proposto in precedenza sulla 14.0, erede di quella proposta sulla 12.0, che hanno un approccio diverso al problema. |
ci sono novità in questo modulo? |
8cbb8df
to
02b2b34
Compare
Dovrebbe essere tutto a posto. |
def _get_document_fiscal_type( | ||
self, move_type=None, partner=None, fiscal_position=None, journal=None | ||
): | ||
self.ensure_one() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
È vero che il metodo in super
si comporta come un api.model
e il risultato dipende solo dai suoi parametri, però credo che questo sia un motivo in più perché l'override aggiunto in questa PR non debba aggiungere vincoli a self
.
Attualmente potrebbero esserci altri moduli che chiamano _get_document_fiscal_type
su un recordset e funzionano; dopo l'installazione di questo modulo invece verrebbe sollevato un errore, credo sia meglio evitarlo e rimanere compatibili con il codice esistente.
Non è detto che lo facciano perché si aspettano un risultato in base a self
, ma semplicemente perché è possibile farlo (come è possibile farlo per i metodi api.model
).
Installation | ||
============ | ||
|
||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Puoi eliminare INSTALL.md
? Altrimenti viene creata questa sezione vuota.
Alla creazione di una fattura di downpayment, viene settato | ||
TD02 come fiscal document type. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Visto che non c'è nulla da configurare, penso sia meglio rimuovere questo file.
Se la fattura è un acconto, setta automaticamente TD02 come tipo documento fiscale.
Tale comportamento è simile a l10n_it_edi
Rimpiazza #4222
Fixes: #4221