[UPD] odex_takaful

This commit is contained in:
Samir Ladoui 2026-01-21 11:38:11 +01:00
parent beb0cfb395
commit a72952f224
3 changed files with 17 additions and 2 deletions

View File

@ -107,6 +107,7 @@ class DonationExtensionHistory(models.Model):
state = fields.Selection([
('active', 'Active'),
('wait_pay', 'Wait Pay'),
('paid', 'Paid'),
('cancel', 'Canceled')
], string='State', default='active', tracking=True)
@ -263,6 +264,13 @@ class DonationExtensionHistory(models.Model):
self.sudo().invoice_id.button_draft()
self.sudo().invoice_id.button_cancel()
if self.new_direct_debit:
scheduling_lines = self.env['sponsorship.scheduling.line'].search([
('donation_detail_linked_id', '=', self.donation_detail_id.id),
('scheduled_date', '>', self.old_end_date)
])
scheduling_lines.sudo().unlink()
self.write({
'state': 'cancel'
})

View File

@ -158,6 +158,13 @@ class SchedulingLine(models.Model):
elif line.donation_detail_linked_id.state != 'waiting' and line.donation_detail_linked_id.record_type != 'donation' and line.donation_detail_linked_id.record_type == 'sponsorship':
line.donation_detail_linked_id.sudo().write({'state': 'active'})
line.donation_detail_linked_id.sponsorship_id.sudo().write({'state': 'wait_pay'})
histories = self.env['donation.extension.history'].sudo().search([
('donation_detail_id', '=', line.donation_detail_linked_id.id),
('old_end_date', '<', line.scheduled_date),
('new_end_date', '>=', line.scheduled_date)
])
if len(histories):
histories.write({'state': 'wait_pay'})
_logger.info(f"Successfully processed scheduled payment for line {line.sequence_no}")

View File

@ -30,7 +30,7 @@
<form create="0" edit="0" delete="0">
<header>
<field name="state" widget="statusbar" statusbar_visible="active,paid,cancel" />
<button string="Pay" name="action_pay_invoice" type="object" class="oe_highlight" states="active"/>
<button string="Pay" name="action_pay_invoice" type="object" class="oe_highlight" attrs="{'invisible': ['|', ('state', '!=', 'active'), ('new_direct_debit', '=', True)]}"/>
<button string="Cancel" name="action_cancel_invoice" type="object" states="active"/>
<button
name="action_print_extension_receipt"
@ -38,7 +38,7 @@
string="Print Extension Receipt"
class="btn-primary"
icon="fa-print"
attrs="{'invisible': [('state', '!=', 'paid')]}"
attrs="{'invisible': [('state', 'not in', ['wait_pay', 'paid'])]}"
groups="odex_takaful.group_print_receipt"
/>
</header>