From 739924c5e0e76ad92c171bcb45e11c580a819e1a Mon Sep 17 00:00:00 2001 From: younes Date: Sun, 14 Dec 2025 13:08:19 +0100 Subject: [PATCH] [IMP] odex_benefit: IMP benefit --- odex25_benefit/odex_benefit/i18n/ar_001.po | 10 +++++++--- odex25_benefit/odex_benefit/models/benefit.py | 2 +- .../odex_benefit/models/family_members.py | 3 ++- .../models/ir_attachment_inherit.py | 2 ++ .../odex_benefit/models/res_partner.py | 1 + .../odex_benefit/views/actions_and_menus.xml | 10 ++++++++++ .../odex_benefit/views/benefit_view.xml | 19 +++++++++++++------ .../odex_benefit/views/family_members.xml | 12 +++++++++++- .../odex_benefit/views/res_partner_view.xml | 1 + 9 files changed, 48 insertions(+), 12 deletions(-) diff --git a/odex25_benefit/odex_benefit/i18n/ar_001.po b/odex25_benefit/odex_benefit/i18n/ar_001.po index 5e4f0eb2e..2759fce39 100644 --- a/odex25_benefit/odex_benefit/i18n/ar_001.po +++ b/odex25_benefit/odex_benefit/i18n/ar_001.po @@ -4959,10 +4959,14 @@ msgstr "رفض الاستثناء" #: model:ir.model.fields.selection,name:odex_benefit.selection__family_member__state__exception_second_approve #: model:ir.model.fields.selection,name:odex_benefit.selection__family_member__state_a__exception_second_approve #: model:ir.model.fields.selection,name:odex_benefit.selection__grant_benefit__state__exception_second_approve -#: model:ir.model.fields.selection,name:odex_benefit.selection__payment_orders__state__waiting_gm #: model_terms:ir.ui.view,arch_db:odex_benefit.family_member_form #: model_terms:ir.ui.view,arch_db:odex_benefit.grant_benefit_form msgid "Waiting for General Manager" +msgstr "بانتظار مساعد المدير العام" + +#. module: odex_benefit +#: model:ir.model.fields.selection,name:odex_benefit.selection__payment_orders__state__waiting_gm +msgid "Waiting for General Manager" msgstr "بانتظار المدير العام" #. module: odex_benefit @@ -15157,7 +15161,7 @@ msgstr "هوية المالك" #. module: odex_benefit #: model:ir.model.fields,field_description:odex_benefit.field_family_member__marriage_certificate msgid "Marriage Certificate" -msgstr "شهادة الزواج" +msgstr "عقد الزواج" #. module: odex_benefit #: model:ir.model.fields,field_description:odex_benefit.field_family_member__death_certificate @@ -15195,7 +15199,7 @@ msgstr "شهادة الراتب مطلوبة للفرد '%s' عند العمل msgid "" "Marriage Certificate is required for member '%s' when marked as married and " "not a mother." -msgstr "شهادة الزواج مطلوبة للفرد '%s' عند تحديده كمتزوج وليس أماً." +msgstr "عقد الزواج مطلوبة للفرد '%s' عند تحديده كمتزوج وليس أماً." #. module: odex_benefit #: model:ir.model.fields,field_description:odex_benefit.field_grant_benefit__family_edit diff --git a/odex25_benefit/odex_benefit/models/benefit.py b/odex25_benefit/odex_benefit/models/benefit.py index 94444fbbd..9d77fba9e 100644 --- a/odex25_benefit/odex_benefit/models/benefit.py +++ b/odex25_benefit/odex_benefit/models/benefit.py @@ -2344,7 +2344,7 @@ class GrantBenefitProfile(models.Model): # raise ValidationError( # _('Enter a valid Saudi mobile number')) - @api.onchange('phone', 'phone2','sms_phone') + @api.constrains('phone', 'phone2','sms_phone') def _onchange_phone_numbers(self): phone_numbers = { 'الهاتف': self.phone, diff --git a/odex25_benefit/odex_benefit/models/family_members.py b/odex25_benefit/odex_benefit/models/family_members.py index dd26b9196..d73064bb5 100644 --- a/odex25_benefit/odex_benefit/models/family_members.py +++ b/odex25_benefit/odex_benefit/models/family_members.py @@ -70,6 +70,7 @@ class FamilyMemberProfile(models.Model): is_married = fields.Boolean('Is Married?') marriage_certificate = fields.Many2many('ir.attachment', 'member_marriage_cert_rel', 'member_id', 'attachment_id', string="Marriage Certificate") + marriage_date = fields.Date(string='Marriage Contract Date') relationn = fields.Many2one('relation.settings', domain="['|',('relation_type','=','son'),('relation_type','=','daughter')]", string="Relation") @@ -1003,7 +1004,7 @@ class FamilyMemberProfile(models.Model): 'state': 'draft' }) - @api.onchange('member_phone') + @api.constrains('member_phone') def _onchange_member_phone_validation(self): if self.member_phone: if self.member_phone.startswith('+966'): diff --git a/odex25_benefit/odex_benefit/models/ir_attachment_inherit.py b/odex25_benefit/odex_benefit/models/ir_attachment_inherit.py index 81a5fe460..154b1b5e6 100644 --- a/odex25_benefit/odex_benefit/models/ir_attachment_inherit.py +++ b/odex25_benefit/odex_benefit/models/ir_attachment_inherit.py @@ -9,6 +9,7 @@ class BenefitAttachment(models.Model): education_status_id = fields.Many2one('education.status') member_id = fields.Many2one('family.member',string="Member") expiration_date = fields.Date(string='Expiration date') + start_date = fields.Date(string='Start Date') attach_status = fields.Selection(selection=[ ('valid', 'Valid'), ('expired', 'Expired'), @@ -25,6 +26,7 @@ class BenefitAttachment(models.Model): mother_grant_benefit_id = fields.Many2one('grant.benefit', string='Mother Grant Benefit') replacement_mother_grant_benefit_id = fields.Many2one('grant.benefit', string='Replacement Mother Grant Benefit') show_in_portal = fields.Boolean(default=False, string="Show In Portal") + supporter_id = fields.Many2one(comodel_name='res.partner',string='Supporter',domain=[('is_supporter', '=', True)],) def action_preview_attachment(self): # Custom function to open the preview diff --git a/odex25_benefit/odex_benefit/models/res_partner.py b/odex25_benefit/odex_benefit/models/res_partner.py index 0b827a030..da87a71b0 100644 --- a/odex25_benefit/odex_benefit/models/res_partner.py +++ b/odex25_benefit/odex_benefit/models/res_partner.py @@ -13,6 +13,7 @@ class ResPartner(models.Model): education_level_ids = fields.Many2many( comodel_name='education.level', relation='res_partner_education_level_rel', column1='partner_id', column2='level_id', string='Education Levels', ) + is_supporter = fields.Boolean(string='Supporter', default=False, ) def unlink(self): env = self.env diff --git a/odex25_benefit/odex_benefit/views/actions_and_menus.xml b/odex25_benefit/odex_benefit/views/actions_and_menus.xml index fc47762d3..754ea6f6d 100644 --- a/odex25_benefit/odex_benefit/views/actions_and_menus.xml +++ b/odex25_benefit/odex_benefit/views/actions_and_menus.xml @@ -753,6 +753,14 @@ {'default_is_company':True,'default_is_education_entity':True} + + Supporter Entities + res.partner + kanban,form,tree + [('is_supporter','=', True)] + {'default_is_company':True,'default_is_supporter':True} + + @@ -1043,6 +1051,8 @@ parent="odex_benefit.benefit_tools" sequence="3"/> + - + @@ -831,13 +831,13 @@ -