File tree Expand file tree Collapse file tree 4 files changed +66
-4
lines changed
l10n_it_ricevute_bancarie Expand file tree Collapse file tree 4 files changed +66
-4
lines changed Original file line number Diff line number Diff line change @@ -238,6 +238,16 @@ class RibaListLine(models.Model):
238
238
_description = "C/O Details"
239
239
_rec_name = "sequence"
240
240
241
+ def action_riba_due_date_settlement (self ):
242
+ return {
243
+ "type" : "ir.actions.act_window" ,
244
+ "name" : "C/O Due Date Settlement" ,
245
+ "res_model" : "riba.due.date.settlement" ,
246
+ "view_mode" : "form" ,
247
+ "target" : "new" ,
248
+ "context" : self .env .context ,
249
+ }
250
+
241
251
def _compute_line_values (self ):
242
252
for line in self :
243
253
line .amount = 0.0
Original file line number Diff line number Diff line change @@ -715,3 +715,27 @@ def test_riba_inv_no_bank(self):
715
715
self .assertIn ("Cannot post invoices" , err_msg )
716
716
self .assertIn (self .invoice .partner_id .display_name , err_msg )
717
717
self .assertIn (str (self .invoice .amount_total ), err_msg )
718
+
719
+ def test_riba_due_date_settlement (self ):
720
+ invoice , riba_list = self .riba_sbf_common (self .riba_config_sbf_maturation .id )
721
+
722
+ # check if riba distinta line is accredited before settlement procedure
723
+ self .assertEqual (riba_list .line_ids .state , "accredited" )
724
+
725
+ # Journal is important to register riba payment
726
+ riba_list .config_id .settlement_journal_id = self .bank_journal .id
727
+
728
+ # open wizard due date settlement
729
+ wizard_riba_settlement = self .env ["riba.due.date.settlement" ].create (
730
+ {"due_date" : riba_list .line_ids .due_date }
731
+ )
732
+
733
+ wizard_riba_settlement .with_context (
734
+ {
735
+ "active_ids" : riba_list .line_ids .ids ,
736
+ "active_model" : "riba.distinta.line" ,
737
+ }
738
+ ).due_date_settlement_confirm ()
739
+
740
+ # check if riba line has paid status
741
+ self .assertEqual (riba_list .line_ids .state , "paid" )
Original file line number Diff line number Diff line change 308
308
<field name =" code" >action = records.settle_riba_line()</field >
309
309
</record >
310
310
311
+ <record
312
+ id =" action_wizard_riba_due_date_settlement_riba_view"
313
+ model =" ir.actions.server"
314
+ >
315
+ <field name =" name" >C/O Due Date Settlement</field >
316
+ <field
317
+ name =" model_id"
318
+ ref =" l10n_it_ricevute_bancarie.model_riba_distinta_line"
319
+ />
320
+ <field
321
+ name =" binding_model_id"
322
+ ref =" l10n_it_ricevute_bancarie.model_riba_distinta_line"
323
+ />
324
+ <field name =" state" >code</field >
325
+ <field name =" code" >action = records.action_riba_due_date_settlement()</field >
326
+ </record >
327
+
311
328
<!-- ====================================================== -->
312
329
<!-- DISTINTA RIBA - MENU -->
313
330
<!-- ====================================================== -->
Original file line number Diff line number Diff line change @@ -15,8 +15,19 @@ def due_date_settlement_confirm(self):
15
15
active_ids = self .env .context .get ("active_ids" , False )
16
16
if not active_ids :
17
17
raise UserError (_ ("No active ID found." ))
18
- riba_ids = self .env ["riba.distinta" ].browse (active_ids )
19
- riba_lines = riba_ids .mapped ("line_ids" ).filtered (
20
- lambda rl : rl .state == "accredited" and rl .due_date == self .due_date
21
- )
18
+
19
+ active_model = self .env .context .get ("active_model" , False )
20
+ if active_model == "riba.distinta" :
21
+ riba_ids = self .env ["riba.distinta" ].browse (active_ids )
22
+ riba_lines = riba_ids .mapped ("line_ids" ).filtered (
23
+ lambda rl : rl .state == "accredited" and rl .due_date == self .due_date
24
+ )
25
+ elif active_model == "riba.distinta.line" :
26
+ riba_lines = (
27
+ self .env ["riba.distinta.line" ]
28
+ .browse (active_ids )
29
+ .filtered (
30
+ lambda rl : rl .state == "accredited" and rl .due_date == self .due_date
31
+ )
32
+ )
22
33
riba_lines .riba_line_settlement ()
You can’t perform that action at this time.
0 commit comments