Merge pull request #5971 from expsa/14.0-fix-odex_takaful-auto-20260104_205554
[FIX] odex_takaful: improve data models and business logic
This commit is contained in:
commit
453706622b
|
|
@ -721,7 +721,6 @@ class DonationsDetailsLines(models.Model):
|
||||||
@api.depends('family_id','record_type')
|
@api.depends('family_id','record_type')
|
||||||
def _compute_family_domain_ids(self):
|
def _compute_family_domain_ids(self):
|
||||||
for rec in self:
|
for rec in self:
|
||||||
domain = []
|
|
||||||
if rec.record_type == 'donation':
|
if rec.record_type == 'donation':
|
||||||
domain = [
|
domain = [
|
||||||
'|',
|
'|',
|
||||||
|
|
@ -729,9 +728,11 @@ class DonationsDetailsLines(models.Model):
|
||||||
'&',
|
'&',
|
||||||
('state', 'in', ('waiting_approve', 'first_approve')),
|
('state', 'in', ('waiting_approve', 'first_approve')),
|
||||||
('action_type', '=', 'suspended')]
|
('action_type', '=', 'suspended')]
|
||||||
family = self.env['grant.benefit'].sudo().search(domain)
|
family = self.env['grant.benefit'].sudo().search(domain)
|
||||||
|
rec.family_domain_ids = [(6, 0, family.ids)] if family else False
|
||||||
rec.family_domain_ids = [(6, 0, family.ids)] if family else False
|
else:
|
||||||
|
# No family selection needed for sponsorships or other types
|
||||||
|
rec.family_domain_ids = False
|
||||||
|
|
||||||
@api.depends('gender',
|
@api.depends('gender',
|
||||||
'record_type',
|
'record_type',
|
||||||
|
|
@ -839,8 +840,13 @@ class DonationsDetailsLines(models.Model):
|
||||||
|
|
||||||
elif rec.record_type == 'donation' and rec.donation_mechanism == "with_conditions" and rec.family_id:
|
elif rec.record_type == 'donation' and rec.donation_mechanism == "with_conditions" and rec.family_id:
|
||||||
domain = [("benefit_id", "=", rec.family_id.id)]
|
domain = [("benefit_id", "=", rec.family_id.id)]
|
||||||
members = self.env['family.member'].sudo().search(domain)
|
else:
|
||||||
|
# No beneficiary selection needed (e.g., unconditional donations, waqf)
|
||||||
|
# Return empty recordset to avoid loading all records - fixes browser hang
|
||||||
|
rec.members_domain_ids = self.env['family.member'].sudo().browse()
|
||||||
|
continue
|
||||||
|
|
||||||
|
members = self.env['family.member'].sudo().search(domain)
|
||||||
rec.members_domain_ids = members if members else self.env['family.member'].sudo().browse()
|
rec.members_domain_ids = members if members else self.env['family.member'].sudo().browse()
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue