diff --git a/odex25_ensan/odex_takaful/models/donation_details_lines.py b/odex25_ensan/odex_takaful/models/donation_details_lines.py index 01343c648..bc6d92a29 100644 --- a/odex25_ensan/odex_takaful/models/donation_details_lines.py +++ b/odex25_ensan/odex_takaful/models/donation_details_lines.py @@ -216,6 +216,12 @@ class DonationsDetailsLines(models.Model): for rec in self: rec.total_months_amount = rec.donation_amount * rec.payment_month_count + @api.onchange('sponsorship_duration') + def _onchange_sponsorship_duration(self): + for rec in self: + if rec.sponsorship_duration == "permanent": + rec.direct_debit = False + @api.onchange('product_template_id') def _onchange_product_template_id(self): for rec in self: @@ -479,6 +485,7 @@ class DonationsDetailsLines(models.Model): self._onchange_sponsorship_type() return res + @api.onchange('donation_types', 'donation_type') def _onchange_sponsorship_type(self): for rec in self: @@ -632,6 +639,16 @@ class DonationsDetailsLines(models.Model): domain = expression.AND([domain, [ ('age', '>=', benefit_age_limit) ]]) + if rec.sponsorship_id or rec.sponsorship_mechanism_id: + all_benefit_ids = ( + + ( + rec.sponsorship_mechanism_id.donations_details_lines_mechanism_ids if rec.sponsorship_mechanism_id else + self.env['donations.details.lines']) + ) + selected_benefit_ids = all_benefit_ids.mapped('benefit_ids').ids + domain = expression.AND([domain, [('id', 'not in', selected_benefit_ids)]]) + elif rec.record_type == 'donation' and rec.donation_mechanism == "with_conditions" and rec.family_id: domain = [("benefit_id", "=", rec.family_id.id)] members = self.env['family.member'].sudo().search(domain) diff --git a/odex25_ensan/odex_takaful/wizards/account_payment_register.py b/odex25_ensan/odex_takaful/wizards/account_payment_register.py index dd0e0bbb5..ec09ec848 100644 --- a/odex25_ensan/odex_takaful/wizards/account_payment_register.py +++ b/odex25_ensan/odex_takaful/wizards/account_payment_register.py @@ -44,7 +44,7 @@ class AccountRegisterPayment(models.TransientModel): j_type = "" if payment_method == "cash": j_type = "cash" - elif payment_method in ("bank", "check"): + elif payment_method in ("bank", "check","network"): j_type = "bank" if j_type: return {"domain": {"journal_id": [("type", "=", j_type)]}}