diff --git a/odex25_ensan/odex_takaful/models/res_partner.py b/odex25_ensan/odex_takaful/models/res_partner.py index db0c57564..4e4cdd2a6 100644 --- a/odex25_ensan/odex_takaful/models/res_partner.py +++ b/odex25_ensan/odex_takaful/models/res_partner.py @@ -1,7 +1,20 @@ -from odoo import models, fields +from odoo import models, fields, api +from odoo.exceptions import ValidationError +from odoo import _ class ResPartner(models.Model): _inherit = 'res.partner' - bank_journal_id = fields.Many2one('account.journal', domain="[('type', '=', 'bank')]") \ No newline at end of file + bank_journal_id = fields.Many2one('account.journal', domain="[('type', '=', 'bank')]") + + + @api.constrains('is_family', 'is_benefit', 'is_donor', 'is_sponsor_portal') + def _check_family_beneficiary_exclusivity(self): + for rec in self: + is_family_or_beneficiary = rec.is_family or rec.is_benefit + + is_donor_vendor_sponsor = rec.is_donor or rec.is_sponsor_portal or rec.is_vendor + + if is_family_or_beneficiary and is_donor_vendor_sponsor: + raise ValidationError(_("A contact cannot be both Family/Beneficiary and Donor/Member/Sponsor at the same time")) \ No newline at end of file diff --git a/odex25_ensan/odex_takaful/models/takaful_sponsor_model.py b/odex25_ensan/odex_takaful/models/takaful_sponsor_model.py index f15196d27..c78c1aeaf 100644 --- a/odex25_ensan/odex_takaful/models/takaful_sponsor_model.py +++ b/odex25_ensan/odex_takaful/models/takaful_sponsor_model.py @@ -259,6 +259,10 @@ class TakafulSponsor(models.Model): res = res.sudo().create_user(res) res.partner_id = res.user_id.partner_id.id + res.partner_id.write({ + 'is_sponsor_portal': True, + 'is_donor': True, + }) return res diff --git a/odex25_ensan/takaful_core/views/res_city_view.xml b/odex25_ensan/takaful_core/views/res_city_view.xml index 6b629f02e..a99f02453 100644 --- a/odex25_ensan/takaful_core/views/res_city_view.xml +++ b/odex25_ensan/takaful_core/views/res_city_view.xml @@ -20,13 +20,13 @@ - - - + + + - - + +