-
-
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
[FIX] l10n_it_fatturapa: link fatturapa.attachments #4250
[FIX] l10n_it_fatturapa: link fatturapa.attachments #4250
Conversation
@SirAionTech puoi verificare? |
Non so come riprodurre il problema quindi non posso verificare |
Per simulare il problema:
|
Grazie, puoi riportare il tutto in una issue come descritto in https://github.com/OCA/l10n-italy/wiki/Team-di-sviluppo#apertura-issue? |
#4264 fatto |
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.
Ho provato in runboat a seguire i passi descritti in #4264 e non ottengo errori:
Screencast.from.11-07-2024.16.40.36.webm
la fattura creata è in http://oca-l10n-italy-16-0-79f19bb8345f.runboat.odoo-community.org/web#id=47&cids=1&model=account.move&view_type=form&menu_id=140
|
Ah ecco, dalla descrizione della issue avevo capito che veniva fuori un errore appena si apriva la fattura, puoi aggiungere nella issue che è questo l'errore cui ti riferisci? |
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!
Ho verificato che il problema esiste in 16.0
e viene corretto da queste modifiche.
Ho provato anche la migrazione e risolve il problema sui dati esistenti.
Stranamente, non sono riuscito a riprodurre il problema quando c'è installato solo l10n_it_fatturapa_in
🤷.
Sai mica come mai?
Puoi aggiungere un test che fallisce senza questa fix? Ci sono diversi esempi nella PR #4107 che hai linkato in descrizione.
Non credo possa andare in questo modulo perché qui non puoi creare fatture elettroniche, però puoi aggiungerlo in un altro modulo che dipende da questo; preferibilmente in un commit separato come fatto in #4107.
89e4db2
to
f38e01c
Compare
e266c1a
to
469e4e1
Compare
Il problema probabilmente si presenta con l10n_it_fatturapa_out installato per questa compute che accede a doc_attachments e non avendo i permessi esce errore , anche se in caso di fattura IN nono dovrebbe capitare... A questo field ci accede un altra compute presente su account.move has_pdf_invoice_print = fields.Boolean(
related="fatturapa_attachment_out_id.has_pdf_invoice_print", readonly=True
) @api.depends("out_invoice_ids.fatturapa_doc_attachments.is_pdf_invoice_print")
def _compute_has_pdf_invoice_print(self):
"""Check if all the invoices related to this attachment
have at least one attachment containing
the PDF report of the invoice"""
for attachment_out in self:
attachment_out.has_pdf_invoice_print = False
for invoice in attachment_out.out_invoice_ids:
invoice_attachments = invoice.fatturapa_doc_attachments` |
@SirAionTech quel test in fail di cosa si tratta ? devo occuparmene o possiamo non considerarlo? |
I check del coverage non sono obbligatori, non serve che ci fai nulla |
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.
A parte la modifica minima suggerita sotto, il problema è che il test aggiunto non verifica la fix: il test aggiunto dovrebbe fallire quando la fix non è presente.
Potrebbe dipendere da quello che scrivevi in #4250 (comment)? Se è così forse ti conviene mettere un test invece in l10n_it_fatturapa_out
.
469e4e1
to
d01553d
Compare
Ho provato a vedere nella PR #4107 e i test verificano solo che è possibile accedere dopo il fix con assertTrue... Per il piccolo cambio richiesto sotto invece , l'ho fatto |
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.
A parte la modifica minima suggerita sotto, il problema è che il test aggiunto non verifica la fix: il test aggiunto dovrebbe fallire quando la fix non è presente. Potrebbe dipendere da quello che scrivevi in #4250 (comment)? Se è così forse ti conviene mettere un test invece in
l10n_it_fatturapa_out
.Ho provato a vedere nella PR #4107 e i test verificano solo che è possibile accedere dopo il fix con assertTrue... Considerando che il fix allinea res_id e res_model alla create del ir.attachment, non saprei come testarlo visto che è un change proprio facendo l'override della create del mixin( e quindi includendolo nel commit, si verifica sempre )... Il mixin è presente dalla #4107 e ho fatto l'inherit in fatturapa.attachments così che si triggeri ad ogni create
I test di #4107 però fallivano senza la loro fix.
Per aggiungere un test che fallisca senza la fix, puoi rimuoverla in locale (in questo caso ti basta commentare l'inherit
che hai aggiunto) e verificare che il tuo test fallisca.
Poi ripristinando la fix (togli il commento che hai aggiunto), il test deve passare.
Qualcuno inizierebbe addirittura a sviluppare facendo prima il test e poi la correzione (vedi https://en.wikipedia.org/wiki/Test-driven_development).
336c2e7
to
3821e43
Compare
3821e43
to
cbf7cf1
Compare
ora è 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.
Oltre alle verifiche di #4250 (review):
Ho verificato che il problema esiste in
16.0
e viene corretto da queste modifiche.
Ho provato anche la migrazione e risolve il problema sui dati esistenti.
Ho anche verificato che il test fallisce senza la correzione, quindi per me è ok.
La nota qui sotto non la vedo come bloccante per il merge.
Grazie!
e_invoice = invoices.fatturapa_doc_attachments | ||
self.assertTrue(e_invoice.ir_attachment_id.read()) |
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.
e_invoice
può essere fuorviante perché in realtà questo è un allegato della fattura elettronica, lo si potrebbe chiamare ad esempio e_attachment
?
/ocabot merge minor |
This PR looks fantastic, let's merge it! |
Congratulations, your PR was merged at ba26d48. Thanks a lot for contributing to OCA. ❤️ |
Ah dovevo usare |
Seguendo questa PR #4107 il problema rimane sugli eventuali allegati contenuti nella fattura elettronica ( fatturapa.attachments)
Riuso lo stesso abstract per allineare correttamente fatturapa.attachments
Risolve #4264