From 418f622ac84a1800ea64aed29544def85342929f Mon Sep 17 00:00:00 2001 From: manar Date: Wed, 1 Jan 2025 15:43:18 +0200 Subject: [PATCH] UPDATE odex_benefit --- odex25_ensan/odex_benefit/__manifest__.py | 3 ++ odex25_ensan/odex_benefit/i18n/ar_001.po | 50 +++++++++++++++++++ odex25_ensan/odex_benefit/models/__init__.py | 1 + .../models/service_refuse_reason.py | 9 ++++ .../odex_benefit/models/service_request.py | 26 ++++++++-- .../odex_benefit/security/ir.model.access.csv | 5 +- .../views/service_refuse_reason.xml | 26 ++++++++++ .../odex_benefit/views/service_request.xml | 9 ++-- odex25_ensan/odex_benefit/wizards/__init__.py | 3 +- .../wizards/reason_for_return_wizard.py | 16 ++++++ .../wizards/reason_for_return_wizard.xml | 17 +++++++ .../wizards/service_refuse_reason_wizard.py | 16 ++++++ .../wizards/service_refuse_reason_wizard.xml | 17 +++++++ 13 files changed, 188 insertions(+), 10 deletions(-) create mode 100644 odex25_ensan/odex_benefit/models/service_refuse_reason.py create mode 100644 odex25_ensan/odex_benefit/views/service_refuse_reason.xml create mode 100644 odex25_ensan/odex_benefit/wizards/reason_for_return_wizard.py create mode 100644 odex25_ensan/odex_benefit/wizards/reason_for_return_wizard.xml create mode 100644 odex25_ensan/odex_benefit/wizards/service_refuse_reason_wizard.py create mode 100644 odex25_ensan/odex_benefit/wizards/service_refuse_reason_wizard.xml diff --git a/odex25_ensan/odex_benefit/__manifest__.py b/odex25_ensan/odex_benefit/__manifest__.py index ebdf2fb56..b517332da 100644 --- a/odex25_ensan/odex_benefit/__manifest__.py +++ b/odex25_ensan/odex_benefit/__manifest__.py @@ -47,12 +47,15 @@ 'views/service_request.xml', 'views/benefit_config_view.xml', 'views/generate_reports.xml', + 'views/service_refuse_reason.xml', 'views/res_country.xml', 'templates/benefit_email.xml', 'data/sequence_data.xml', 'wizards/entity_refused_wizard_view.xml', 'wizards/entity_black_list_wizard_view.xml', + 'wizards/service_refuse_reason_wizard.xml', + 'wizards/reason_for_return_wizard.xml', ], 'external_dependencies': { 'python': ['num2words'], diff --git a/odex25_ensan/odex_benefit/i18n/ar_001.po b/odex25_ensan/odex_benefit/i18n/ar_001.po index 879fd80ad..999d90b3b 100644 --- a/odex25_ensan/odex_benefit/i18n/ar_001.po +++ b/odex25_ensan/odex_benefit/i18n/ar_001.po @@ -3125,6 +3125,7 @@ msgstr "إعدادات ملف الأسرة" #. module: odex_benefit #: model_terms:ir.ui.view,arch_db:odex_benefit.view_confirm_benefit_expense_form +#: model_terms:ir.ui.view,arch_db:odex_benefit.view_refuse_reason_wizard msgid "Confirm" msgstr "تاكيد" @@ -9237,6 +9238,8 @@ msgstr "" #. module: odex_benefit #: 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 +#: model:ir.model.fields,field_description:odex_benefit.field_service_refuse_reason_wizard__reason_id msgid "Reason" msgstr "السبب" @@ -9423,6 +9426,7 @@ msgstr "تاريخ الرفض" #. module: odex_benefit #: model:ir.model.fields,field_description:odex_benefit.field_entity_refuse_reason__name +#: model:ir.model.fields,field_description:odex_benefit.field_service_request__refuse_reason_id msgid "Refuse Reason" msgstr "سبب الرفض" @@ -13756,3 +13760,49 @@ msgstr "" #: model:ir.model.fields.selection,name:odex_benefit.selection__grant_benefit__mother_marital__hanging msgid "معلقة" msgstr "" + +#. module: odex_benefit +#: model:ir.ui.menu,name:odex_benefit.menu_refuse_reason +msgid "Service Refuse Reasons" +msgstr "أسباب رفض الخدمات" + +#. module: odex_benefit +#: model:ir.actions.act_window,name:odex_benefit.action_refuse_reason +#: model:ir.model,name:odex_benefit.model_service_refuse_reason +msgid "Reasons for Service Rejection" +msgstr "أسباب رفض الخدمات" + +#. module: odex_benefit +#: model_terms:ir.ui.view,arch_db:odex_benefit.view_service_refuse_reason_form +msgid "Service Refuse Reason" +msgstr "أسباب رفض الخدمات" + +#. module: odex_benefit +#: model_terms:ir.ui.view,arch_db:odex_benefit.view_refuse_reason_wizard +msgid "Select Reason" +msgstr "اختر سبب الرفض" + +#. module: odex_benefit +#: model_terms:ir.ui.view,arch_db:odex_benefit.service_request_form +msgid "Return the request to the specialist" +msgstr "إعادة الطلب إلي الاخصائي" + +#. module: odex_benefit +#: model:ir.model.fields,field_description:odex_benefit.field_service_request__return_reason +msgid "Reason for Returning the Request" +msgstr "سبب إعادة الطلب" + +#. module: odex_benefit +#: model:ir.model.fields,field_description:odex_benefit.field_service_request__specialist_note +msgid "Specialist's Note After Return" +msgstr "ملاحظة اﻹخصائي بعد اﻹعادة" + +#. module: odex_benefit +#: model:ir.model.fields,field_description:odex_benefit.field_reason_for_return_wizard__reason +msgid "reason for return" +msgstr "سبب إعادة الطلب" + +#. module: odex_benefit +#: model:ir.model,name:odex_benefit.model_reason_for_return_wizard +msgid "Reason For Return Wizard" +msgstr "سبب إعادة الطلب" diff --git a/odex25_ensan/odex_benefit/models/__init__.py b/odex25_ensan/odex_benefit/models/__init__.py index 2c943125a..48987e49e 100644 --- a/odex25_ensan/odex_benefit/models/__init__.py +++ b/odex25_ensan/odex_benefit/models/__init__.py @@ -27,4 +27,5 @@ from . import res_country_inherit from . import service_request from . import payment_order from . import family_complaints +from . import service_refuse_reason # from . import res_config_settings \ No newline at end of file diff --git a/odex25_ensan/odex_benefit/models/service_refuse_reason.py b/odex25_ensan/odex_benefit/models/service_refuse_reason.py new file mode 100644 index 000000000..d83ba8d99 --- /dev/null +++ b/odex25_ensan/odex_benefit/models/service_refuse_reason.py @@ -0,0 +1,9 @@ +# -*- coding: utf-8 -*- +from odoo import models, fields + + +class RefuseReason(models.Model): + _name = 'service.refuse.reason' + _description = 'Reasons for Service Rejection' + + name = fields.Char(string='Reason', required=True) diff --git a/odex25_ensan/odex_benefit/models/service_request.py b/odex25_ensan/odex_benefit/models/service_request.py index 87922b67c..c7881434f 100644 --- a/odex25_ensan/odex_benefit/models/service_request.py +++ b/odex25_ensan/odex_benefit/models/service_request.py @@ -137,6 +137,11 @@ class ServiceRequest(models.Model): ], string='state',default='draft', tracking=True) state_a = fields.Selection(related='state', tracking=False) state_b = fields.Selection(related='state', tracking=False) + refuse_reason_id = fields.Many2one('service.refuse.reason', string="Refuse Reason") + return_reason = fields.Text(string="Reason for Returning the Request") + specialist_note = fields.Text(string="Specialist's Note After Return") + + @api.model def search(self, args, offset=0, limit=None, order=None, count=False): @@ -396,12 +401,25 @@ class ServiceRequest(models.Model): rec.state = 'family_received_device' def action_accounting_first_refuse(self): - for rec in self: - rec.state = 'draft' + return { + 'name': 'Reason for Returning the Request', + 'type': 'ir.actions.act_window', + 'res_model': 'reason.for.return.wizard', + 'view_mode': 'form', + 'target': 'new', + } + def action_refuse(self): - for rec in self: - rec.state = 'refused' + # for rec in self: + # rec.state = 'refused' + return { + 'name': 'Select Reason', + 'type': 'ir.actions.act_window', + 'res_model': 'service.refuse.reason.wizard', + 'view_mode': 'form', + 'target': 'new', + } @api.onchange('service_cat','family_id') def onchange_service_cat(self): diff --git a/odex25_ensan/odex_benefit/security/ir.model.access.csv b/odex25_ensan/odex_benefit/security/ir.model.access.csv index cc29158a9..2eb918592 100644 --- a/odex25_ensan/odex_benefit/security/ir.model.access.csv +++ b/odex25_ensan/odex_benefit/security/ir.model.access.csv @@ -139,4 +139,7 @@ access_age_category,access_age_category,model_age_category,base.group_user,1,1,1 access_complaints_category,access_complaints_category,model_complaints_category,base.group_user,1,1,1,1 access_family_complaints,access_family_complaints,model_family_complaints,base.group_user,1,1,1,1 access_buy_home_lines,access_buy_home_lines,model_buy_home_lines,base.group_user,1,1,1,1 -access_location_settings,access_location_settings,model_location_settings,base.group_user,1,1,1,1 \ No newline at end of file +access_location_settings,access_location_settings,model_location_settings,base.group_user,1,1,1,1 +access_service_refuse_reason,access_service_refuse_reason,model_service_refuse_reason,base.group_user,1,1,1,1 +access_service_refuse_reason_wizard,access_service_refuse_reason_wizard,model_service_refuse_reason_wizard,base.group_user,1,1,1,1 +access_reason_for_return_wizard,access_reason_for_return_wizard,model_reason_for_return_wizard,base.group_user,1,1,1,1 \ No newline at end of file diff --git a/odex25_ensan/odex_benefit/views/service_refuse_reason.xml b/odex25_ensan/odex_benefit/views/service_refuse_reason.xml new file mode 100644 index 000000000..33ee894f5 --- /dev/null +++ b/odex25_ensan/odex_benefit/views/service_refuse_reason.xml @@ -0,0 +1,26 @@ + + + + service.refuse.reason.form + service.refuse.reason + +
+ + + + + +
+
+
+ + + Reasons for Service Rejection + service.refuse.reason + tree,form + + + + + +
diff --git a/odex25_ensan/odex_benefit/views/service_request.xml b/odex25_ensan/odex_benefit/views/service_request.xml index cf0ba5e09..537ea44b4 100644 --- a/odex25_ensan/odex_benefit/views/service_request.xml +++ b/odex25_ensan/odex_benefit/views/service_request.xml @@ -24,9 +24,8 @@ confirm="Are you sure you want to approve ?" states="second_approve" groups="odex_benefit.group_benefit_accounting_accept"/>