From f64e07291dc8a4b1170731f0336592b0ce8ba4fd Mon Sep 17 00:00:00 2001 From: younes Date: Mon, 8 Sep 2025 15:57:41 +0100 Subject: [PATCH] IMP benefit --- odex25_ensan/odex_benefit/i18n/ar_001.po | 71 +++-- odex25_ensan/odex_benefit/models/benefit.py | 18 +- .../odex_benefit/models/benefit_config.py | 6 + .../odex_benefit/views/actions_and_menus.xml | 6 +- .../views/benefit_config_view.xml | 295 ++++++++++-------- .../odex_benefit/views/benefit_view.xml | 48 +-- .../wizards/entity_refused_wizard.py | 68 ++-- .../wizards/entity_refused_wizard_view.xml | 8 +- 8 files changed, 284 insertions(+), 236 deletions(-) diff --git a/odex25_ensan/odex_benefit/i18n/ar_001.po b/odex25_ensan/odex_benefit/i18n/ar_001.po index 5357c0f98..91ad18e9d 100644 --- a/odex25_ensan/odex_benefit/i18n/ar_001.po +++ b/odex25_ensan/odex_benefit/i18n/ar_001.po @@ -720,7 +720,6 @@ msgstr "" #. module: odex_benefit #: code:addons/odex_benefit/models/benefit.py:0 #: code:addons/odex_benefit/wizards/entity_black_list_wizard.py:0 -#: code:addons/odex_benefit/wizards/entity_refused_wizard.py:0 #, python-format msgid " State changed to " msgstr " تم تغيير الحالة الى " @@ -8768,6 +8767,8 @@ msgstr "جوار السكن" #. module: odex_benefit #: model:ir.model.fields,field_description:odex_benefit.field_benefits_representative__comment +#: model:ir.model.fields,field_description:odex_benefit.field_entity_refused_reason_wizard__refused_reason +#: model:ir.model.fields,field_description:odex_benefit.field_entity_return_reason_wizard__return_reason #: model:ir.model.fields,field_description:odex_benefit.field_external_benefits__comment #: model:ir.model.fields,field_description:odex_benefit.field_grant_benefit__comment #: model:ir.model.fields,field_description:odex_benefit.field_service_attachments_settings__notes @@ -9548,6 +9549,7 @@ msgid "Rate of zkat" msgstr "" #. module: odex_benefit +#: model:ir.model.fields,field_description:odex_benefit.field_entity_return_reason_wizard__return_reason #: model:ir.model.fields,field_description:odex_benefit.field_family_member__reason #: model:ir.model.fields,field_description:odex_benefit.field_grant_benefit__reason #: model:ir.model.fields,field_description:odex_benefit.field_service_refuse_reason__name @@ -11018,12 +11020,10 @@ msgid "Suspend Method" msgstr "طريقة الإيقاف" #. module: odex_benefit -#: model:ir.actions.act_window,name:odex_benefit.suspend_reason_action +#: model:ir.model.fields,field_description:odex_benefit.field_entity_refused_reason_wizard__suspend_reason_id #: model:ir.model.fields,field_description:odex_benefit.field_family_member__suspend_reason #: model:ir.model.fields,field_description:odex_benefit.field_grant_benefit__suspend_reason #: model:ir.model.fields,field_description:odex_benefit.field_suspend_reason_wizard__suspend_reason -#: model:ir.ui.menu,name:odex_benefit.menu_suspend_reason -#: model_terms:ir.actions.act_window,help:odex_benefit.suspend_reason_action #: 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 "Suspend Reason" @@ -11134,12 +11134,6 @@ msgstr "المستفيد " msgid "The Beneficiaries " msgstr "المستفيدين " -#. module: odex_benefit -#: code:addons/odex_benefit/wizards/entity_refused_wizard.py:0 -#, python-format -msgid "The Benefit " -msgstr "المستفيد " - #. module: odex_benefit #: code:addons/odex_benefit/wizards/entity_refused_wizard.py:0 #, python-format @@ -14700,23 +14694,15 @@ msgid "Return Reason Wizard" msgstr "سبب الإرجاع" #. module: odex_benefit -#: model_terms:ir.ui.view,arch_db:odex_benefit.view_entity_return_reason_wizard_form -msgid "Retrun" -msgstr "إرجاع" - -#. module: odex_benefit -#: model:ir.model.fields,field_description:odex_benefit.field_entity_return_reason_wizard__return_reason +#: model:ir.model.fields,field_description:odex_benefit.field_entity_return_reason_wizard__suspend_reason_id +#: model:ir.model.fields,field_description:odex_benefit.field_suspend_reason__is_return_reason msgid "Return Reason" msgstr "سبب الإرجاع" #. module: odex_benefit -#: code:addons/odex_benefit/wizards/entity_refused_wizard.py:0 -#, python-format -msgid "" -"The benefit record %s state has been changed to %s.
Return" -" Reason: %s" -msgstr "" -"تم تغيير حالة المستفيد %s إلى %s.
سبب الإرجاع: %s" +#: model_terms:ir.ui.view,arch_db:odex_benefit.view_entity_return_reason_wizard_form +msgid "Retrun" +msgstr "إرجاع" #. module: odex_benefit #: code:addons/odex_benefit/models/res_users.py:0 @@ -15282,6 +15268,7 @@ msgstr "تعديل العائلة" #. module: odex_benefit #: model:ir.model.fields,field_description:odex_benefit.field_grant_benefit__family_return_reason +#: model:ir.model.fields,field_description:odex_benefit.field_suspend_reason__is_family_return_reason msgid "Family Return Reason" msgstr "سبب ارجاع للاسرة" @@ -15357,3 +15344,41 @@ msgstr "دولة وفاة الأم البديلة" #: model:ir.model.fields,field_description:odex_benefit.field_grant_benefit__replacement_dead_reason_id msgid "Replacement Mother Dead Reason" msgstr "سبب وفاة الأم البديلة" + +#. module: odex_benefit +#: code:addons/odex_benefit/wizards/entity_refused_wizard.py:0 +#, python-format +msgid "" +"The benefit record %s state has been changed to %s.
Return" +" Reason: %s
Reason: %s" +msgstr "تم تغيير حالة حالة المستفيد %s إلى %s.
سبب الإرجاع: %s
الملاحظات: %s" + +#. module: odex_benefit +#: code:addons/odex_benefit/wizards/entity_refused_wizard.py:0 +#, python-format +msgid "" +"The Benefit %s state changed to %s.
Suspend Reason: " +"%s
Reason: %s" +msgstr "تم تغيير حالة المستفيد %s إلى %s.
سبب الإيقاف: %s
Notes: %s" + +#. module: odex_benefit +#: model:ir.actions.act_window,name:odex_benefit.suspend_reason_action +#: model:ir.ui.menu,name:odex_benefit.menu_suspend_reason +#: model_terms:ir.actions.act_window,help:odex_benefit.suspend_reason_action +msgid "Reasons of Suspension and Refusal" +msgstr "أسباب الإيقاف والرفض" + +#. module: odex_benefit +#: model:ir.model.fields,field_description:odex_benefit.field_suspend_reason__is_stop_reason +msgid "Stop Reason" +msgstr "سبب إيقاف" + +#. module: odex_benefit +#: model:ir.model.fields,field_description:odex_benefit.field_suspend_reason__is_reject_reason +msgid "Reject Reason" +msgstr "سبب الرفض" + +#. module: odex_benefit +#: model:ir.model.fields,field_description:odex_benefit.field_suspend_reason__is_incomplete_visit_reason +msgid "Incomplete Visit Reason" +msgstr "سبب عدم اكمال الزيارة" \ No newline at end of file diff --git a/odex25_ensan/odex_benefit/models/benefit.py b/odex25_ensan/odex_benefit/models/benefit.py index a2edcdf45..5c435e2b3 100644 --- a/odex25_ensan/odex_benefit/models/benefit.py +++ b/odex25_ensan/odex_benefit/models/benefit.py @@ -397,7 +397,7 @@ class GrantBenefitProfile(models.Model): support_separation = fields.Boolean(string="Support Separation", tracking=True) is_life = fields.Boolean(string="Life", default=True) total_expenses = fields.Float('Total Expenses', compute="get_total_expenses",store=True) - total_income = fields.Float('Total Income', compute="get_total_income") + total_income = fields.Float('Total Income', compute="get_total_income", store=True) benefit_member_count = fields.Integer(string="Members count", compute="get_members_count") non_member_count = fields.Integer(string="Non Benefit Members count", compute="get_non_members_count") member_income = fields.Integer(string="Member Income Average", compute="get_member_income",store=True) @@ -638,7 +638,7 @@ class GrantBenefitProfile(models.Model): pattern = re.compile(r'^[A-Za-z]{4}[0-9]{4}$') for record in self: if record.short_number and not pattern.match(record.short_number): - raise ValidationError("Short Number must be 4 letters followed by 4 digits (e.g., ABCD1234).") + raise ValidationError(_("Short Number must be 4 letters followed by 4 digits (e.g., ABCD1234).")) @api.constrains('father_name', 'father_second_name', 'father_third_name', 'father_family_name', @@ -1794,8 +1794,14 @@ class GrantBenefitProfile(models.Model): ben.expenses_total = len(expenses) ben.total_expenses = total_expenses - - + @api.depends( + 'mother_income', + 'mother_status', + 'replacement_mother_income', + 'replacement_mother_status', + 'salary_ids', + 'salary_ids.approved', + ) def get_total_income(self): validation_setting = self.env["family.validation.setting"].search([], limit=1) max_income_for_mother = validation_setting.max_income_for_mother @@ -2080,11 +2086,9 @@ class GrantBenefitProfile(models.Model): else: ben.non_member_count = 0.0 - @api.depends('salary_ids','mother_income','member_ids','salary_ids.approved') + @api.depends('benefit_member_count','member_ids','total_income','total_expenses') def get_member_income(self): for ben in self: - # ben.get_total_income() - # ben.get_total_expenses() family_income = ben.total_income - ben.total_expenses if ben.benefit_member_count: if ben.benefit_member_count > 3: diff --git a/odex25_ensan/odex_benefit/models/benefit_config.py b/odex25_ensan/odex_benefit/models/benefit_config.py index daefcd8d5..592d79779 100644 --- a/odex25_ensan/odex_benefit/models/benefit_config.py +++ b/odex25_ensan/odex_benefit/models/benefit_config.py @@ -714,6 +714,12 @@ class SuspendReason(models.Model): _description = "Suspend - Reason" name = fields.Char(string="Name") + is_stop_reason = fields.Boolean(string="Stop Reason",default=False) + is_reject_reason = fields.Boolean(string="Reject Reason",default=False) + is_return_reason = fields.Boolean(string="Return Reason",default=False) + is_family_return_reason = fields.Boolean(string="Family Return Reason",default=False) + is_incomplete_visit_reason = fields.Boolean(string="Incomplete Visit Reason",default=False) + active = fields.Boolean(default=True) class BranchSettings(models.Model): _name = 'branch.settings' diff --git a/odex25_ensan/odex_benefit/views/actions_and_menus.xml b/odex25_ensan/odex_benefit/views/actions_and_menus.xml index 261c706a2..c31f281b3 100644 --- a/odex25_ensan/odex_benefit/views/actions_and_menus.xml +++ b/odex25_ensan/odex_benefit/views/actions_and_menus.xml @@ -287,11 +287,11 @@ - Suspend Reason + Reasons of Suspension and Refusal suspend.reason tree,form -

Suspend Reason +

Reasons of Suspension and Refusal

@@ -852,7 +852,7 @@ /> - - - - - - - - - - + + + + + + + + + + @@ -61,7 +61,7 @@ - + @@ -389,19 +389,19 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + housing_rooms_tree @@ -573,19 +573,19 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + benefit.housing.kanban benefit.housing @@ -697,8 +697,8 @@ - - + + @@ -801,15 +801,15 @@ - - - - - - - - - + + + + + + + + + res.districts.tree @@ -871,7 +871,8 @@ -