Skip to content

Commit 963a845

Browse files
SirAionTechChionne27
authored andcommitted
[IMP] l10n_it_riba: Pay multiple lines at once
Also allow to set a date during payment and past due process
1 parent c6593bd commit 963a845

16 files changed

+337
-62
lines changed

l10n_it_ricevute_bancarie/README.rst

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,10 @@
22
ITA - Ricevute bancarie
33
=======================
44

5-
..
6-
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
5+
.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
76
!! This file is generated by oca-gen-addon-readme !!
87
!! changes will be overwritten. !!
98
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
10-
!! source digest: sha256:8e2dc803302c8e438b0e43a1304284ca6d997884765c970deebb9e09d96e4040
11-
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
129
1310
.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
1411
:target: https://odoo-community.org/page/development-status
@@ -23,10 +20,10 @@ ITA - Ricevute bancarie
2320
:target: https://translation.odoo-community.org/projects/l10n-italy-14-0/l10n-italy-14-0-l10n_it_ricevute_bancarie
2421
:alt: Translate me on Weblate
2522
.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png
26-
:target: https://runboat.odoo-community.org/builds?repo=OCA/l10n-italy&target_branch=14.0
23+
:target: https://runboat.odoo-community.org/webui/builds.html?repo=OCA/l10n-italy&target_branch=14.0
2724
:alt: Try me on Runboat
2825

29-
|badge1| |badge2| |badge3| |badge4| |badge5|
26+
|badge1| |badge2| |badge3| |badge4| |badge5|
3027

3128
**Italiano**
3229

@@ -108,10 +105,15 @@ esposizione, cioè l'importo dovuto dal cliente a fronte dell'emissione
108105
della RiBa non ancora scaduta.
109106

110107
In maniera predefinita la data delle registrazioni dei pagamenti viene
111-
impostata con la data di scadenza della RiBa, ma è possibile modificarla
112-
successivamente a pagamento effettivamente avvenuto selezionando la
113-
registrazione dalla vista ed elenco ed eseguendo l'azione "Imposta data
114-
di pagamento RiBa".
108+
impostata con la data di scadenza della RiBa, ma è possibile modificarla in due momenti:
109+
110+
- durante la creazione del pagamento,
111+
cliccando su "Segna righe come pagate" o su "Segna coma pagata"
112+
o usando l'azione "Registrazione Riba a data di scadenza"
113+
e indicando una data nel campo `Data pagamento`,
114+
- successivamente a pagamento effettivamente avvenuto selezionando la selezionando la
115+
registrazione dalla vista ed elenco ed eseguendo l'azione "Imposta data
116+
di pagamento RiBa".
115117

116118
Known issues / Roadmap
117119
======================
@@ -126,7 +128,7 @@ Bug Tracker
126128

127129
Bugs are tracked on `GitHub Issues <https://github.com/OCA/l10n-italy/issues>`_.
128130
In case of trouble, please check there if your issue has already been reported.
129-
If you spotted it first, help us to smash it by providing a detailed and welcomed
131+
If you spotted it first, help us smashing it by providing a detailed and welcomed
130132
`feedback <https://github.com/OCA/l10n-italy/issues/new?body=module:%20l10n_it_ricevute_bancarie%0Aversion:%2014.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
131133

132134
Do not contact contributors directly about support or help with technical issues.

l10n_it_ricevute_bancarie/__manifest__.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@
4343
"views/riba_detail_view.xml",
4444
"views/wizard_presentation.xml",
4545
"views/wizard_due_date_settlement.xml",
46+
"wizard/wizard_riba_multiple_payment_views.xml",
4647
],
4748
"demo": ["demo/riba_demo.xml"],
4849
"installable": True,

l10n_it_ricevute_bancarie/models/riba.py

Lines changed: 39 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,16 @@ def _compute_total_amount(self):
9595
)
9696
date_accepted = fields.Date("Acceptance Date")
9797
date_accreditation = fields.Date("Credit Date")
98-
date_paid = fields.Date("Payment Date", readonly=True)
98+
date_paid = fields.Date(
99+
string="Payment Date",
100+
help="Default date for payments.",
101+
readonly=True,
102+
states={
103+
"credited": [
104+
("readonly", False),
105+
],
106+
},
107+
)
99108
date_unsolved = fields.Date("Past Due Date", readonly=True)
100109
company_id = fields.Many2one(
101110
"res.company",
@@ -187,10 +196,15 @@ def riba_cancel(self):
187196
distinta.state = "cancel"
188197

189198
def settle_all_line(self):
190-
for riba_list in self:
191-
for line in riba_list.line_ids:
192-
if line.state == "accredited":
193-
line.riba_line_settlement()
199+
payment_wizard_action = self.env["ir.actions.actions"]._for_xml_id(
200+
"l10n_it_ricevute_bancarie.riba_payment_multiple_action"
201+
)
202+
context = dict(self.env.context)
203+
context.update(
204+
active_ids=self.ids,
205+
)
206+
payment_wizard_action["context"] = context
207+
return payment_wizard_action
194208

195209
@api.onchange("date_accepted", "date_accreditation")
196210
def _onchange_date(self):
@@ -228,7 +242,7 @@ def action_cancel_draft(self):
228242

229243
def action_open_lines(self):
230244
action = self.env.ref("l10n_it_ricevute_bancarie.detail_riba_action").read()[0]
231-
action["domain"] = [("slip_id", "=", self.id)]
245+
action["domain"] = [("distinta_id", "=", self.id)]
232246
return action
233247

234248

@@ -475,7 +489,23 @@ def confirm(self):
475489
if not line.distinta_id.date_accepted:
476490
line.distinta_id.date_accepted = fields.Date.context_today(self)
477491

478-
def riba_line_settlement(self):
492+
def button_settle(self):
493+
payment_wizard_action = self.env["ir.actions.actions"]._for_xml_id(
494+
"l10n_it_ricevute_bancarie.riba_payment_multiple_action"
495+
)
496+
context = dict(self.env.context)
497+
context.update(
498+
active_ids=self.distinta_id.ids,
499+
default_riba_line_ids=self.ids,
500+
)
501+
payment_wizard_action["context"] = context
502+
return payment_wizard_action
503+
504+
def riba_line_settlement(self, date=None):
505+
"""Create payment the acceptance move of each line in `self`.
506+
507+
:param date: The created payment's date.
508+
"""
479509
for riba_line in self:
480510
if not riba_line.distinta_id.config_id.settlement_journal_id:
481511
raise UserError(_("Please define a Settlement Journal."))
@@ -498,12 +528,13 @@ def riba_line_settlement(self):
498528
riba_line.distinta_id.name,
499529
riba_line.partner_id.name,
500530
)
531+
move_date = date or riba_line.due_date.strftime("%Y-%m-%d")
501532
settlement_move = move_model.create(
502533
{
503534
"journal_id": (
504535
riba_line.distinta_id.config_id.settlement_journal_id.id
505536
),
506-
"date": riba_line.due_date.strftime("%Y-%m-%d"),
537+
"date": move_date,
507538
"ref": move_ref,
508539
}
509540
)

l10n_it_ricevute_bancarie/readme/USAGE.rst

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,12 @@ esposizione, cioè l'importo dovuto dal cliente a fronte dell'emissione
2727
della RiBa non ancora scaduta.
2828

2929
In maniera predefinita la data delle registrazioni dei pagamenti viene
30-
impostata con la data di scadenza della RiBa, ma è possibile modificarla
31-
successivamente a pagamento effettivamente avvenuto selezionando la
32-
registrazione dalla vista ed elenco ed eseguendo l'azione "Imposta data
33-
di pagamento RiBa".
30+
impostata con la data di scadenza della RiBa, ma è possibile modificarla in due momenti:
31+
32+
- durante la creazione del pagamento,
33+
cliccando su "Segna righe come pagate" o su "Segna coma pagata"
34+
o usando l'azione "Registrazione Riba a data di scadenza"
35+
e indicando una data nel campo `Data pagamento`,
36+
- successivamente a pagamento effettivamente avvenuto selezionando la selezionando la
37+
registrazione dalla vista ed elenco ed eseguendo l'azione "Imposta data
38+
di pagamento RiBa".

l10n_it_ricevute_bancarie/security/ir.model.access.csv

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,3 +20,4 @@ access_riba_file_export,riba_file_export,model_riba_file_export,account.group_ac
2020
access_presentation_riba_issue,access_presentation_riba_issue,model_presentation_riba_issue,account.group_account_invoice,1,1,1,1
2121
access_riba_due_date_settlement,riba_due_date_settlement,model_riba_due_date_settlement,account.group_account_invoice,1,1,1,1
2222
access_riba_payment_date,riba_payment_date,model_riba_payment_date,account.group_account_invoice,1,1,1,1
23+
access_riba_multiple_payment_date,Full access to Pay multiple RiBa lines,model_riba_payment_multiple,account.group_account_invoice,1,1,1,1

l10n_it_ricevute_bancarie/static/description/index.html

Lines changed: 34 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,20 @@
1+
<?xml version="1.0" encoding="utf-8" ?>
12
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
23
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
34
<head>
45
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
5-
<meta name="generator" content="Docutils: https://docutils.sourceforge.io/" />
6+
<meta name="generator" content="Docutils: http://docutils.sourceforge.net/" />
67
<title>ITA - Ricevute bancarie</title>
78
<style type="text/css">
89

910
/*
1011
:Author: David Goodger (goodger@python.org)
11-
:Id: $Id: html4css1.css 9511 2024-01-13 09:50:07Z milde $
12+
:Id: $Id: html4css1.css 7952 2016-07-26 18:15:59Z milde $
1213
:Copyright: This stylesheet has been placed in the public domain.
1314
1415
Default cascading style sheet for the HTML output of Docutils.
15-
Despite the name, some widely supported CSS2 features are used.
1616
17-
See https://docutils.sourceforge.io/docs/howto/html-stylesheets.html for how to
17+
See http://docutils.sf.net/docs/howto/html-stylesheets.html for how to
1818
customize this style sheet.
1919
*/
2020

@@ -275,7 +275,7 @@
275275
margin-left: 2em ;
276276
margin-right: 2em }
277277

278-
pre.code .ln { color: gray; } /* line numbers */
278+
pre.code .ln { color: grey; } /* line numbers */
279279
pre.code, code { background-color: #eeeeee }
280280
pre.code .comment, code .comment { color: #5C6576 }
281281
pre.code .keyword, code .keyword { color: #3B0D06; font-weight: bold }
@@ -301,7 +301,7 @@
301301
span.pre {
302302
white-space: pre }
303303

304-
span.problematic, pre.problematic {
304+
span.problematic {
305305
color: red }
306306

307307
span.section-subtitle {
@@ -366,28 +366,26 @@ <h1 class="title">ITA - Ricevute bancarie</h1>
366366
<!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
367367
!! This file is generated by oca-gen-addon-readme !!
368368
!! changes will be overwritten. !!
369-
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
370-
!! source digest: sha256:8e2dc803302c8e438b0e43a1304284ca6d997884765c970deebb9e09d96e4040
371369
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
372-
<p><a class="reference external image-reference" href="https://odoo-community.org/page/development-status"><img alt="Beta" src="https://img.shields.io/badge/maturity-Beta-yellow.png" /></a> <a class="reference external image-reference" href="http://www.gnu.org/licenses/agpl-3.0-standalone.html"><img alt="License: AGPL-3" src="https://img.shields.io/badge/licence-AGPL--3-blue.png" /></a> <a class="reference external image-reference" href="https://github.com/OCA/l10n-italy/tree/14.0/l10n_it_ricevute_bancarie"><img alt="OCA/l10n-italy" src="https://img.shields.io/badge/github-OCA%2Fl10n--italy-lightgray.png?logo=github" /></a> <a class="reference external image-reference" href="https://translation.odoo-community.org/projects/l10n-italy-14-0/l10n-italy-14-0-l10n_it_ricevute_bancarie"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external image-reference" href="https://runboat.odoo-community.org/builds?repo=OCA/l10n-italy&amp;target_branch=14.0"><img alt="Try me on Runboat" src="https://img.shields.io/badge/runboat-Try%20me-875A7B.png" /></a></p>
370+
<p><a class="reference external" href="https://odoo-community.org/page/development-status"><img alt="Beta" src="https://img.shields.io/badge/maturity-Beta-yellow.png" /></a> <a class="reference external" href="http://www.gnu.org/licenses/agpl-3.0-standalone.html"><img alt="License: AGPL-3" src="https://img.shields.io/badge/licence-AGPL--3-blue.png" /></a> <a class="reference external" href="https://github.com/OCA/l10n-italy/tree/14.0/l10n_it_ricevute_bancarie"><img alt="OCA/l10n-italy" src="https://img.shields.io/badge/github-OCA%2Fl10n--italy-lightgray.png?logo=github" /></a> <a class="reference external" href="https://translation.odoo-community.org/projects/l10n-italy-14-0/l10n-italy-14-0-l10n_it_ricevute_bancarie"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external" href="https://runboat.odoo-community.org/webui/builds.html?repo=OCA/l10n-italy&amp;target_branch=14.0"><img alt="Try me on Runboat" src="https://img.shields.io/badge/runboat-Try%20me-875A7B.png" /></a></p>
373371
<p><strong>Italiano</strong></p>
374372
<p>Modulo per gestire le ricevute bancarie.</p>
375373
<p><strong>Table of contents</strong></p>
376374
<div class="contents local topic" id="contents">
377375
<ul class="simple">
378-
<li><a class="reference internal" href="#configuration" id="toc-entry-1">Configuration</a></li>
379-
<li><a class="reference internal" href="#usage" id="toc-entry-2">Usage</a></li>
380-
<li><a class="reference internal" href="#known-issues-roadmap" id="toc-entry-3">Known issues / Roadmap</a></li>
381-
<li><a class="reference internal" href="#bug-tracker" id="toc-entry-4">Bug Tracker</a></li>
382-
<li><a class="reference internal" href="#credits" id="toc-entry-5">Credits</a><ul>
383-
<li><a class="reference internal" href="#contributors" id="toc-entry-6">Contributors</a></li>
384-
<li><a class="reference internal" href="#maintainers" id="toc-entry-7">Maintainers</a></li>
376+
<li><a class="reference internal" href="#configuration" id="id1">Configuration</a></li>
377+
<li><a class="reference internal" href="#usage" id="id2">Usage</a></li>
378+
<li><a class="reference internal" href="#known-issues-roadmap" id="id3">Known issues / Roadmap</a></li>
379+
<li><a class="reference internal" href="#bug-tracker" id="id4">Bug Tracker</a></li>
380+
<li><a class="reference internal" href="#credits" id="id5">Credits</a><ul>
381+
<li><a class="reference internal" href="#contributors" id="id6">Contributors</a></li>
382+
<li><a class="reference internal" href="#maintainers" id="id7">Maintainers</a></li>
385383
</ul>
386384
</li>
387385
</ul>
388386
</div>
389387
<div class="section" id="configuration">
390-
<h1><a class="toc-backref" href="#toc-entry-1">Configuration</a></h1>
388+
<h1><a class="toc-backref" href="#id1">Configuration</a></h1>
391389
<p><strong>Italiano</strong></p>
392390
<p>Nella configurazione delle Ri.Ba. è possibile specificare se si tratti di
393391
‘Salvo buon fine’ o ‘Al dopo incasso’, che hanno un flusso completamente diverso.</p>
@@ -423,7 +421,7 @@ <h1><a class="toc-backref" href="#toc-entry-1">Configuration</a></h1>
423421
<em>Configurazione → Impostazioni → Contabilità → Imposte → Spese di incasso Ri.Ba.</em>.</p>
424422
</div>
425423
<div class="section" id="usage">
426-
<h1><a class="toc-backref" href="#toc-entry-2">Usage</a></h1>
424+
<h1><a class="toc-backref" href="#id2">Usage</a></h1>
427425
<p><strong>Italiano</strong></p>
428426
<p>Per utilizzare il meccanismo delle Ri.Ba. è necessario configurare un termine
429427
di pagamento di tipo ‘Ri.Ba.’.</p>
@@ -447,29 +445,37 @@ <h1><a class="toc-backref" href="#toc-entry-2">Usage</a></h1>
447445
esposizione, cioè l’importo dovuto dal cliente a fronte dell’emissione
448446
della RiBa non ancora scaduta.</p>
449447
<p>In maniera predefinita la data delle registrazioni dei pagamenti viene
450-
impostata con la data di scadenza della RiBa, ma è possibile modificarla
451-
successivamente a pagamento effettivamente avvenuto selezionando la
448+
impostata con la data di scadenza della RiBa, ma è possibile modificarla in due momenti:</p>
449+
<blockquote>
450+
<ul class="simple">
451+
<li>durante la creazione del pagamento,
452+
cliccando su “Segna righe come pagate” o su “Segna coma pagata”
453+
o usando l’azione “Registrazione Riba a data di scadenza”
454+
e indicando una data nel campo <cite>Data pagamento</cite>,</li>
455+
<li>successivamente a pagamento effettivamente avvenuto selezionando la selezionando la
452456
registrazione dalla vista ed elenco ed eseguendo l’azione “Imposta data
453-
di pagamento RiBa”.</p>
457+
di pagamento RiBa”.</li>
458+
</ul>
459+
</blockquote>
454460
</div>
455461
<div class="section" id="known-issues-roadmap">
456-
<h1><a class="toc-backref" href="#toc-entry-3">Known issues / Roadmap</a></h1>
462+
<h1><a class="toc-backref" href="#id3">Known issues / Roadmap</a></h1>
457463
<p><strong>Italiano</strong></p>
458464
<p>Attenzione!
459465
Il modulo è stato migrato, ma gli script di migrazione non sono stati provati.</p>
460466
</div>
461467
<div class="section" id="bug-tracker">
462-
<h1><a class="toc-backref" href="#toc-entry-4">Bug Tracker</a></h1>
468+
<h1><a class="toc-backref" href="#id4">Bug Tracker</a></h1>
463469
<p>Bugs are tracked on <a class="reference external" href="https://github.com/OCA/l10n-italy/issues">GitHub Issues</a>.
464470
In case of trouble, please check there if your issue has already been reported.
465-
If you spotted it first, help us to smash it by providing a detailed and welcomed
471+
If you spotted it first, help us smashing it by providing a detailed and welcomed
466472
<a class="reference external" href="https://github.com/OCA/l10n-italy/issues/new?body=module:%20l10n_it_ricevute_bancarie%0Aversion:%2014.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**">feedback</a>.</p>
467473
<p>Do not contact contributors directly about support or help with technical issues.</p>
468474
</div>
469475
<div class="section" id="credits">
470-
<h1><a class="toc-backref" href="#toc-entry-5">Credits</a></h1>
476+
<h1><a class="toc-backref" href="#id5">Credits</a></h1>
471477
<div class="section" id="contributors">
472-
<h2><a class="toc-backref" href="#toc-entry-6">Contributors</a></h2>
478+
<h2><a class="toc-backref" href="#id6">Contributors</a></h2>
473479
<ul class="simple">
474480
<li>Lorenzo Battistini &lt;<a class="reference external" href="mailto:lorenzo.battistini&#64;agilebg.com">lorenzo.battistini&#64;agilebg.com</a>&gt;</li>
475481
<li>Andrea Cometa &lt;<a class="reference external" href="mailto:a.cometa&#64;apuliasoftware.it">a.cometa&#64;apuliasoftware.it</a>&gt;</li>
@@ -495,11 +501,9 @@ <h2><a class="toc-backref" href="#toc-entry-6">Contributors</a></h2>
495501
</ul>
496502
</div>
497503
<div class="section" id="maintainers">
498-
<h2><a class="toc-backref" href="#toc-entry-7">Maintainers</a></h2>
504+
<h2><a class="toc-backref" href="#id7">Maintainers</a></h2>
499505
<p>This module is maintained by the OCA.</p>
500-
<a class="reference external image-reference" href="https://odoo-community.org">
501-
<img alt="Odoo Community Association" src="https://odoo-community.org/logo.png" />
502-
</a>
506+
<a class="reference external image-reference" href="https://odoo-community.org"><img alt="Odoo Community Association" src="https://odoo-community.org/logo.png" /></a>
503507
<p>OCA, or the Odoo Community Association, is a nonprofit organization whose
504508
mission is to support the collaborative development of Odoo features and
505509
promote its widespread use.</p>

l10n_it_ricevute_bancarie/tests/riba_common.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -249,6 +249,7 @@ def create_config_incasso(self):
249249
"bank_id": self.company_bank.id,
250250
"acceptance_journal_id": self.bank_journal.id,
251251
"acceptance_account_id": self.sbf_effects.id,
252+
"settlement_journal_id": self.bank_journal.id,
252253
}
253254
)
254255

@@ -268,5 +269,6 @@ def create_config(self, sbf_collection_type):
268269
"unsolved_journal_id": self.bank_journal.id,
269270
"overdue_effects_account_id": self.unsolved_account.id,
270271
"protest_charge_account_id": self.expenses_account.id,
272+
"settlement_journal_id": self.bank_journal.id,
271273
}
272274
)

0 commit comments

Comments
 (0)