diff --git a/odex25_ensan/odex_benefit/i18n/ar_001.po b/odex25_ensan/odex_benefit/i18n/ar_001.po
index bbdf84ec1..63c619a0b 100644
--- a/odex25_ensan/odex_benefit/i18n/ar_001.po
+++ b/odex25_ensan/odex_benefit/i18n/ar_001.po
@@ -10026,7 +10026,7 @@ msgstr "تاريخ الطلب"
#. module: odex_benefit
#: model_terms:ir.ui.view,arch_db:odex_benefit.service_request_form
-msgid "Request First Approve"
+msgid "Operations Manager Approval"
msgstr "اعتماد رئيس العمليات للطلب"
#. module: odex_benefit
@@ -14825,7 +14825,9 @@ msgstr "بانتظار رئيسة العمليات"
#: model:ir.model.fields.selection,name:odex_benefit.selection__grant_benefit__state__first_approve
#: model:ir.model.fields.selection,name:odex_benefit.selection__family_member__state_a__exception_first_approve
#: model:ir.model.fields.selection,name:odex_benefit.selection__grant_benefit__state__exception_first_approve
+#: model:ir.model.fields.selection,name:odex_benefit.selection__service_request__state__first_approve
#: model_terms:ir.ui.view,arch_db:odex_benefit.grant_benefit_search
+#: model_terms:ir.ui.view,arch_db:odex_benefit.service_request_search
msgid "Waiting for Branch Manager"
msgstr "بانتظار مدير الفرع"
@@ -16429,3 +16431,9 @@ msgstr "معلومات عقد الإيجار الجديد"
#: model:ir.model.fields,field_description:odex_benefit.field_service_request__new_rent_amount_payment
msgid "New Rent Amount Payment"
msgstr "مبلغ دفع الإيجار الجديد"
+
+#. module: odex_benefit
+#: model:ir.model.fields.selection,name:odex_benefit.selection__service_request__state__gm_assistant
+#: model_terms:ir.ui.view,arch_db:odex_benefit.service_request_search
+msgid "Waiting Assistant General Manager"
+msgstr "بانتظار مساعد المدير العام"
\ No newline at end of file
diff --git a/odex25_ensan/odex_benefit/models/service_request.py b/odex25_ensan/odex_benefit/models/service_request.py
index 869ed908e..3fd7388ca 100644
--- a/odex25_ensan/odex_benefit/models/service_request.py
+++ b/odex25_ensan/odex_benefit/models/service_request.py
@@ -146,6 +146,9 @@ class ServiceRequest(models.Model):
('researcher', 'Researcher'),
('waiting_approve', 'Waiting for Operation Manager'),
('first_approve', 'Waiting for Branch Manager'),
+ ('family_services_manager', 'Waiting Family Services Manager'),
+ ('legal_department', 'Waiting Legal Department'),
+ ('projects_department', 'Waiting Projects Department'),
('gm_assistant', 'Waiting Assistant General Manager'),
('accounting_approve', 'Accounting Approve'),
('approval_of_beneficiary_services', 'Approval of beneficiary services'),
@@ -440,7 +443,32 @@ class ServiceRequest(models.Model):
def action_branch_manager_approve(self):
for rec in self:
- if rec.service_cat.needs_beneficiary_manager_approval:
+ if rec.service_cat.needs_services_head_approval or rec.exception:
+ rec.state = 'family_services_manager'
+ else:
+ rec.state = 'accounting_approve'
+
+ def action_family_services_manager_approve(self):
+ for rec in self:
+ if rec.service_cat.needs_legal_approval:
+ rec.state = 'legal_department'
+ elif rec.service_cat.needs_project_management_approval:
+ rec.state = 'projects_department'
+ elif rec.service_cat.needs_beneficiary_manager_approval or rec.exception:
+ rec.state = 'gm_assistant'
+ else:
+ rec.state = 'accounting_approve'
+
+ def action_legal_department_approve(self):
+ for rec in self:
+ if rec.service_cat.needs_project_management_approval:
+ rec.state = 'projects_department'
+ elif rec.service_cat.needs_beneficiary_manager_approval:
+ rec.state = 'gm_assistant'
+
+ def action_projects_department_approve(self):
+ for rec in self:
+ if rec.service_cat.needs_beneficiary_manager_approval or rec.exception:
rec.state = 'gm_assistant'
else:
rec.state = 'accounting_approve'
diff --git a/odex25_ensan/odex_benefit/security/security_view.xml b/odex25_ensan/odex_benefit/security/security_view.xml
index e323900b1..130415a4b 100644
--- a/odex25_ensan/odex_benefit/security/security_view.xml
+++ b/odex25_ensan/odex_benefit/security/security_view.xml
@@ -119,6 +119,25 @@
+
+ Family Services Manager
+
+
+
+
+
+
+ Services - Legal Department
+
+
+
+
+
+ Services - Projects Department
+
+
+
+
Show All Benefits Profiles
@@ -269,5 +288,13 @@
+
+
+ Service Requests - Legal Department
+
+
+ [('service_cat.needs_legal_approval', '=', True)]
+
+
diff --git a/odex25_ensan/odex_benefit/views/service_request.xml b/odex25_ensan/odex_benefit/views/service_request.xml
index f6286b7f4..cceb1aad8 100644
--- a/odex25_ensan/odex_benefit/views/service_request.xml
+++ b/odex25_ensan/odex_benefit/views/service_request.xml
@@ -17,7 +17,7 @@
string="Refuse" class="btn btn-danger"
states="researcher" groups="odex_benefit.group_benefit_researcher"/>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -422,14 +481,15 @@
-
+
-
-
diff --git a/odex25_ensan/odex_benefit_project/__manifest__.py b/odex25_ensan/odex_benefit_project/__manifest__.py
index 8c9273b83..14a902b75 100644
--- a/odex25_ensan/odex_benefit_project/__manifest__.py
+++ b/odex25_ensan/odex_benefit_project/__manifest__.py
@@ -7,8 +7,9 @@
'website': 'http://exp-sa.com',
'license': 'GPL-3',
'author': 'Expert Ltd',
- 'depends': ['odex_benefit','project_base'],
- 'data': ['views/services_settings_inherit.xml',
+ 'depends': ['odex_benefit', 'project_base'],
+ 'data': ['security/security_view.xml',
+ 'views/services_settings_inherit.xml',
'views/project_project_inherit.xml',
'views/service_request_inherit.xml',
],
diff --git a/odex25_ensan/odex_benefit_project/security/security_view.xml b/odex25_ensan/odex_benefit_project/security/security_view.xml
new file mode 100644
index 000000000..aa3c10648
--- /dev/null
+++ b/odex25_ensan/odex_benefit_project/security/security_view.xml
@@ -0,0 +1,11 @@
+
+
+
+ Service Requests - Project-related (Projects Department)
+
+
+ [('service_cat.needs_project_management_approval', '=', True)]
+
+
+
+