diff --git a/odex25_ensan/odex_benefit/__manifest__.py b/odex25_ensan/odex_benefit/__manifest__.py
index b132289a9..7a7bd9684 100644
--- a/odex25_ensan/odex_benefit/__manifest__.py
+++ b/odex25_ensan/odex_benefit/__manifest__.py
@@ -50,6 +50,8 @@
'views/generate_reports.xml',
'views/service_refuse_reason.xml',
'views/res_city.xml',
+ 'views/job_settings_views.xml',
+ 'views/death_reason_settings_views.xml',
'views/res_country.xml',
'templates/benefit_email.xml',
diff --git a/odex25_ensan/odex_benefit/i18n/ar_001.po b/odex25_ensan/odex_benefit/i18n/ar_001.po
index cad45531f..a85a847b1 100644
--- a/odex25_ensan/odex_benefit/i18n/ar_001.po
+++ b/odex25_ensan/odex_benefit/i18n/ar_001.po
@@ -4027,6 +4027,7 @@ msgstr "مدينة الوفاة"
#. module: odex_benefit
#: model:ir.model.fields,field_description:odex_benefit.field_grant_benefit__father_dead_reason
+#: model:ir.model.fields,field_description:odex_benefit.field_grant_benefit__father_dead_reason_id
#: model:ir.model.fields,field_description:odex_benefit.field_grant_benefit__mother_dead_reason
#: model:ir.model.fields,field_description:odex_benefit.field_grant_benefit__replacement_mother_dead_reason
msgid "Dead Reason"
@@ -4039,8 +4040,9 @@ msgstr "بلد وفاة الأب"
#. module: odex_benefit
#: model:ir.model.fields,field_description:odex_benefit.field_grant_benefit__father_job
+#: model:ir.model.fields,field_description:odex_benefit.field_grant_benefit__father_job_id
msgid "Father Job"
-msgstr "وظيفة الأب "
+msgstr "وظيفة الأب"
#. module: odex_benefit
#: model:ir.model.fields,field_description:odex_benefit.field_grant_benefit__father_id_number_type
@@ -7024,6 +7026,11 @@ msgstr "حالة محتويات الغرف"
msgid "Items"
msgstr "العناصر"
+#. module: odex_benefit
+#: model_terms:ir.ui.view,arch_db:odex_benefit.job_settings_view_form
+msgid "Job"
+msgstr "وظيفة"
+
#. module: odex_benefit
#: model:ir.model.fields,field_description:odex_benefit.field_grant_benefit__job_company
msgid "Job Company"
@@ -7042,6 +7049,17 @@ msgstr ""
msgid "Job Position"
msgstr "المنصب الوظيفي"
+#. module: odex_benefit
+#: model:ir.actions.act_window,name:odex_benefit.action_job_settings_act_window
+#: model_terms:ir.ui.view,arch_db:odex_benefit.job_settings_view_tree
+msgid "Jobs"
+msgstr "وظائف"
+
+#. module: odex_benefit
+#: model:ir.ui.menu,name:odex_benefit.menu_jobs_settings
+msgid "Jobs Settings"
+msgstr "إعدادات الوظائف"
+
#. module: odex_benefit
#: model:ir.model.fields,field_description:odex_benefit.field_benefit_loans__journal_id
#: model:ir.model.fields,field_description:odex_benefit.field_benefit_zkat__journal_id
@@ -8410,6 +8428,7 @@ msgstr "نهاية الوقت المعين للنشاط"
#: model:ir.model.fields,field_description:odex_benefit.field_committees_line__name
#: model:ir.model.fields,field_description:odex_benefit.field_confirm_benefit_expense__name
#: model:ir.model.fields,field_description:odex_benefit.field_craft_skills__name
+#: model:ir.model.fields,field_description:odex_benefit.field_death_reason_settings__name
#: model:ir.model.fields,field_description:odex_benefit.field_disabilities_settings__name
#: model:ir.model.fields,field_description:odex_benefit.field_diseases_settings__name
#: model:ir.model.fields,field_description:odex_benefit.field_donations_type__name
@@ -8431,10 +8450,12 @@ msgstr "نهاية الوقت المعين للنشاط"
#: model:ir.model.fields,field_description:odex_benefit.field_insurance_company__name
#: model:ir.model.fields,field_description:odex_benefit.field_insurance_type__name
#: model:ir.model.fields,field_description:odex_benefit.field_item_status__name
+#: model:ir.model.fields,field_description:odex_benefit.field_job_settings__name
#: model:ir.model.fields,field_description:odex_benefit.field_main_service__name
#: model:ir.model.fields,field_description:odex_benefit.field_marital_status__name
#: model:ir.model.fields,field_description:odex_benefit.field_member_disabilities__name
#: model:ir.model.fields,field_description:odex_benefit.field_member_diseases__name
+#: model:ir.model.fields,field_description:odex_benefit.field_member_education_status__name
#: model:ir.model.fields,field_description:odex_benefit.field_member_hobbies__name
#: model:ir.model.fields,field_description:odex_benefit.field_member_location__name
#: model:ir.model.fields,field_description:odex_benefit.field_needs_categories__name
@@ -8750,7 +8771,11 @@ msgid "Not Benefit"
msgstr "غير مستفيد"
#. module: odex_benefit
+#: model:ir.model.fields,field_description:odex_benefit.field_death_reason_settings__not_defined
+#: model:ir.model.fields,field_description:odex_benefit.field_grant_benefit__father_dead_reason_id_not_defined
#: model:ir.model.fields,field_description:odex_benefit.field_grant_benefit__father_dead_res_city_id_not_defined
+#: model:ir.model.fields,field_description:odex_benefit.field_grant_benefit__father_job_id_not_defined
+#: model:ir.model.fields,field_description:odex_benefit.field_job_settings__not_defined
#: model:ir.model.fields,field_description:odex_benefit.field_res_city__not_defined
msgid "Not Defined"
msgstr "غير محدد"
@@ -11276,6 +11301,20 @@ msgstr ""
msgid "The account number already exists!"
msgstr ""
+#. module: odex_benefit
+#: code:addons/odex_benefit/models/death_reason_settings.py:0
+#: model:ir.model.constraint,message:odex_benefit.constraint_death_reason_settings_uniq_name
+#, python-format
+msgid "This death reason already exists!"
+msgstr "سبب الوفاة هذا موجود بالفعل!"
+
+#. module: odex_benefit
+#: code:addons/odex_benefit/models/job_settings.py:0
+#: model:ir.model.constraint,message:odex_benefit.constraint_job_settings_uniq_name
+#, python-format
+msgid "This job already exists!"
+msgstr "هذه الوظيفة موجودة بالفعل!"
+
#. module: odex_benefit
#: code:addons/odex_benefit/models/benefit.py:0
#, python-format
@@ -14553,6 +14592,22 @@ msgstr "إسناد ملف جديد"
msgid "Dear"
msgstr "عزيزي"
+#. module: odex_benefit
+#: model_terms:ir.ui.view,arch_db:odex_benefit.death_reason_settings_view_form
+msgid "Death Reason"
+msgstr "سبب الوفاة"
+
+#. module: odex_benefit
+#: model:ir.ui.menu,name:odex_benefit.menu_death_reasons_settings
+msgid "Death Reason Settings"
+msgstr "إعدادات أسباب الوفاة"
+
+#. module: odex_benefit
+#: model:ir.actions.act_window,name:odex_benefit.action_death_reason_settings_act_window
+#: model_terms:ir.ui.view,arch_db:odex_benefit.death_reason_settings_view_tree
+msgid "Death Reasons"
+msgstr "أسباب الوفاة"
+
#. module: odex_benefit
#: code:addons/odex_benefit/wizards/researcher_wizard.py:0
#, python-format
diff --git a/odex25_ensan/odex_benefit/models/__init__.py b/odex25_ensan/odex_benefit/models/__init__.py
index b6b50859e..8ffe33a41 100644
--- a/odex25_ensan/odex_benefit/models/__init__.py
+++ b/odex25_ensan/odex_benefit/models/__init__.py
@@ -34,4 +34,6 @@ from . import res_city
from . import seasonal_service
# from . import res_config_settings
from . import res_users
-from . import res_partner
\ No newline at end of file
+from . import res_partner
+from . import job_settings
+from . import death_reason_settings
\ 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 7ec486afa..5ce2d0fdf 100644
--- a/odex25_ensan/odex_benefit/models/benefit.py
+++ b/odex25_ensan/odex_benefit/models/benefit.py
@@ -170,12 +170,16 @@ class GrantBenefitProfile(models.Model):
father_marital = fields.Selection(
[('single', _('Single')), ('married', _('Married')), ('widower', _('Widower')), ('divorced', _('Divorced'))],
_('Marital Status'), default='single', tracking=True)
+ father_job_id = fields.Many2one('job.settings')
+ father_job_id_not_defined = fields.Boolean(related="father_job_id.not_defined")
father_job = fields.Char(string='Father Job')
father_id_number_type = fields.Selection([('citizen', _('Citizen')),('resident', _('Resident')),('visitor', _('Visitor'))],string='Father ID number type')
father_birth_date = fields.Date(string="Birth Date")
father_age = fields.Integer(string="Age", compute='_compute_get_father_age')
father_country_id = fields.Many2one('res.country', 'Father Nationality', tracking=True)
father_city_id = fields.Many2one('res.country.city', string='City')
+ father_dead_reason_id = fields.Many2one('death.reason.settings', string='Dead Reason', required=False)
+ father_dead_reason_id_not_defined = fields.Boolean(related='father_dead_reason_id.not_defined')
father_dead_reason = fields.Char(string='Dead Reason', required=False)
father_dead_date = fields.Date(string="Father Dead Date")
father_dead_country_id = fields.Many2one('res.country', string='Father Dead Country', tracking=True)
diff --git a/odex25_ensan/odex_benefit/models/death_reason_settings.py b/odex25_ensan/odex_benefit/models/death_reason_settings.py
new file mode 100644
index 000000000..a58e767e2
--- /dev/null
+++ b/odex25_ensan/odex_benefit/models/death_reason_settings.py
@@ -0,0 +1,18 @@
+from odoo import models, fields, _
+
+
+class DeathReasonSettings(models.Model):
+ _name = 'death.reason.settings'
+
+ name = fields.Char(required=True)
+ not_defined = fields.Boolean(default=False)
+ active = fields.Boolean(default=True)
+
+ _sql_constraints = [
+ (
+ 'uniq_name',
+ 'UNIQUE( name )',
+ _('This death reason already exists!')
+ )
+ ]
+
\ No newline at end of file
diff --git a/odex25_ensan/odex_benefit/models/job_settings.py b/odex25_ensan/odex_benefit/models/job_settings.py
new file mode 100644
index 000000000..1b1fef94a
--- /dev/null
+++ b/odex25_ensan/odex_benefit/models/job_settings.py
@@ -0,0 +1,18 @@
+from odoo import models, fields, _
+
+
+class JobSettings(models.Model):
+ _name = 'job.settings'
+
+ name = fields.Char(required=True)
+ not_defined = fields.Boolean(default=False)
+ active = fields.Boolean(default=True)
+
+ _sql_constraints = [
+ (
+ 'uniq_name',
+ 'UNIQUE( name )',
+ _('This job already exists!')
+ )
+ ]
+
\ No newline at end of file
diff --git a/odex25_ensan/odex_benefit/security/ir.model.access.csv b/odex25_ensan/odex_benefit/security/ir.model.access.csv
index 0343dcbf4..a597636b2 100644
--- a/odex25_ensan/odex_benefit/security/ir.model.access.csv
+++ b/odex25_ensan/odex_benefit/security/ir.model.access.csv
@@ -152,6 +152,10 @@ access_reason_for_return_wizard,access_reason_for_return_wizard,model_reason_for
access_transportation_insurance,access_transportation_insurance,model_transportation_insurance,base.group_user,1,1,1,1
access_res_city,access_res_city,model_res_city,base.group_user,1,0,0,0
access_res_city,access_res_city,model_res_city,odex_benefit.group_benefit_manager,1,1,1,1
+access_job_settings,access_job_settings,model_job_settings,base.group_user,1,0,0,0
+access_job_settings_manager,access_job_settings.manager,model_job_settings,odex_benefit.group_benefit_manager,1,1,1,1
+access_death_reason_settings,access_death_reason_settings,model_death_reason_settings,base.group_user,1,0,0,0
+access_death_reason_settings_manager,access_death_reason_settings.manager,model_death_reason_settings,odex_benefit.group_benefit_manager,1,1,1,1
access_grant_benefit_portal_user,access_grant_benefit_portal_user,model_grant_benefit,base.group_portal,1,1,1,1
access_visit_location_otp_wizard,access_visit_location_otp_wizard,model_visit_location_otp_wizard,,1,1,1,1
access_visit_skip_otp_wizard,access_visit_skip_otp_wizard,model_visit_skip_otp_wizard,,1,1,1,1
\ No newline at end of file
diff --git a/odex25_ensan/odex_benefit/views/actions_and_menus.xml b/odex25_ensan/odex_benefit/views/actions_and_menus.xml
index 000143d51..e799f0c0e 100644
--- a/odex25_ensan/odex_benefit/views/actions_and_menus.xml
+++ b/odex25_ensan/odex_benefit/views/actions_and_menus.xml
@@ -845,6 +845,20 @@
action="suspend_reason_action"
sequence="101"
/>
+
+