diff --git a/odex25_hr/attendances/i18n/ar_001.po b/odex25_hr/attendances/i18n/ar_001.po
index 4fc968dc1..031cfcf33 100644
--- a/odex25_hr/attendances/i18n/ar_001.po
+++ b/odex25_hr/attendances/i18n/ar_001.po
@@ -748,6 +748,7 @@ msgstr "الوصف"
#: code:addons/attendances/models/hr_reasons_lateness.py:0
#: code:addons/odoo/STANDARD_MODULES/test/odex25_hr/odex25_hr/attendances/models/hr_attendance_register.py:0
#: code:addons/odoo/STANDARD_MODULES/test/odex25_hr/odex25_hr/attendances/models/hr_reasons_lateness.py:0
+#: model:ir.model.fields,field_description:attendances.field_hr_reasons_lateness__manager_id
#: model_terms:ir.ui.view,arch_db:attendances.employee_lateness_reasons_form_view
#: model_terms:ir.ui.view,arch_db:attendances.hr_attendance_register_form_view
#, python-format
diff --git a/odex25_hr/attendances/models/hr_reasons_lateness.py b/odex25_hr/attendances/models/hr_reasons_lateness.py
index d7c7af4db..707ba5993 100644
--- a/odex25_hr/attendances/models/hr_reasons_lateness.py
+++ b/odex25_hr/attendances/models/hr_reasons_lateness.py
@@ -16,6 +16,9 @@ class HrReasonsLateness(models.Model):
department_id = fields.Many2one(related="employee_id.department_id", readonly=True, store=True)
job_id = fields.Many2one(related="employee_id.job_id", readonly=True)
employee_id = fields.Many2one('hr.employee', 'Employee Id', default=lambda item: item.get_user_id())
+ manager_id = fields.Many2one('hr.employee', string='Direct Manager', related='employee_id.parent_id', store=True,
+ readonly=True,
+ domain="['|', ('company_id', '=', False), ('company_id', '=', company_id)]")
state = fields.Selection([('draft', _('Draft')),
('send', _('Waiting Direct Manager')),
('direct_manager', _('Waiting HR')),
diff --git a/odex25_hr/attendances/views/hr_lateness_reasons.xml b/odex25_hr/attendances/views/hr_lateness_reasons.xml
index 89c51bd6f..69c8dd817 100644
--- a/odex25_hr/attendances/views/hr_lateness_reasons.xml
+++ b/odex25_hr/attendances/views/hr_lateness_reasons.xml
@@ -69,6 +69,7 @@
attrs="{'readonly':[('state','!=','draft')]}"/>
+
diff --git a/odex25_hr/employee_requests/i18n/ar_001.po b/odex25_hr/employee_requests/i18n/ar_001.po
index 750bb8c96..dd0678e77 100644
--- a/odex25_hr/employee_requests/i18n/ar_001.po
+++ b/odex25_hr/employee_requests/i18n/ar_001.po
@@ -4036,4 +4036,10 @@ msgstr "نوع الموظف الجديد"
msgid "You Can Not Choose The Same Employee Type"
msgstr "لايمكن إختيار نفس نوع الموظف الحالي"
-
+#. module: employee_requests
+#: model:ir.model.fields,field_description:employee_requests.field_employee_other_request__manager_id
+#: model:ir.model.fields,field_description:employee_requests.field_employee_overtime_request__manager_id
+#: model:ir.model.fields,field_description:employee_requests.field_hr_clearance_form__manager_id
+#: model:ir.model.fields,field_description:employee_requests.field_hr_personal_permission__manager_id
+msgid "Direct Manager"
+msgstr "المدير المباشر"
\ No newline at end of file
diff --git a/odex25_hr/employee_requests/models/employee_overtime_request.py b/odex25_hr/employee_requests/models/employee_overtime_request.py
index d446599e7..ad7487373 100644
--- a/odex25_hr/employee_requests/models/employee_overtime_request.py
+++ b/odex25_hr/employee_requests/models/employee_overtime_request.py
@@ -44,6 +44,9 @@ class employee_overtime_request(models.Model):
department_id = fields.Many2one('hr.department')
employee_id = fields.Many2one('hr.employee', 'Responsible', default=lambda item: item.get_user_id(),
domain=[('state', '=', 'open')])
+ manager_id = fields.Many2one('hr.employee', string='Direct Manager', related='employee_id.parent_id', store=True,
+ readonly=True,
+ domain="['|', ('company_id', '=', False), ('company_id', '=', company_id)]")
employee_no = fields.Char(related='employee_id.emp_no', readonly=True,string='Employee Number', store=True)
exception = fields.Boolean(string="Exception Hours", default=False,
help='Exceeding The Limit Of Overtime Hours Per Month')
diff --git a/odex25_hr/employee_requests/models/hr_clearance_form.py b/odex25_hr/employee_requests/models/hr_clearance_form.py
index e5e2a9a68..66d57e60c 100644
--- a/odex25_hr/employee_requests/models/hr_clearance_form.py
+++ b/odex25_hr/employee_requests/models/hr_clearance_form.py
@@ -16,6 +16,9 @@ class HrClearanceForm(models.Model):
department_id = fields.Many2one(related='employee_id.department_id', readonly=True, store=True)
employee_id = fields.Many2one('hr.employee', 'Employee Id', default=lambda item: item.get_user_id(),
domain=[('state', '=', 'open')])
+ manager_id = fields.Many2one('hr.employee', string='Direct Manager', related='employee_id.parent_id', store=True,
+ readonly=True,
+ domain="['|', ('company_id', '=', False), ('company_id', '=', company_id)]")
employee_no = fields.Char(related='employee_id.emp_no', readonly=True,string='Employee Number', store=True)
clearance_type = fields.Selection(selection=[("vacation", _("Vacation Clearance")),
diff --git a/odex25_hr/employee_requests/models/hr_personal_permission.py b/odex25_hr/employee_requests/models/hr_personal_permission.py
index 39a374569..ce85100b4 100644
--- a/odex25_hr/employee_requests/models/hr_personal_permission.py
+++ b/odex25_hr/employee_requests/models/hr_personal_permission.py
@@ -34,7 +34,8 @@ class HrPersonalPermission(models.Model):
approved_by = fields.Many2one(comodel_name='res.users')
refused_by = fields.Many2one(comodel_name='res.users')
employee_id = fields.Many2one('hr.employee', 'Employee Id', default=lambda item: item.get_user_id(),domain=[('state', '=', 'open')])
- state = fields.Selection([('draft', _('Draft')), ('send', _('Waiting Direct Manager')),
+ manager_id = fields.Many2one('hr.employee', string='Direct Manager',related='employee_id.parent_id', store=True,readonly=True,domain="['|', ('company_id', '=', False), ('company_id', '=', company_id)]")
+ state = fields.Selection([('draft', _('Draft')), ('send', _('Waiting Direct Manager')),
('direct_manager', _('Wait HR Department')),
('approve', _('Approved')), ('refused', _('Refused'))], default="draft", tracking=True)
type_exit = fields.Selection([('early_exit', _('Early Exit')), ('late entry', _('Late Entry')), ('during work', _('During Work'))],default="early_exit")
diff --git a/odex25_hr/employee_requests/models/other_request.py b/odex25_hr/employee_requests/models/other_request.py
index 7f7e25dbf..c2c93100c 100644
--- a/odex25_hr/employee_requests/models/other_request.py
+++ b/odex25_hr/employee_requests/models/other_request.py
@@ -33,6 +33,9 @@ class EmployeeOtherRequest(models.Model):
# relational fields
employee_id = fields.Many2one('hr.employee', default=lambda item: item.get_user_id(),
domain=[('state', '=', 'open')])
+ manager_id = fields.Many2one('hr.employee', string='Direct Manager', related='employee_id.parent_id', store=True,
+ readonly=True,
+ domain="['|', ('company_id', '=', False), ('company_id', '=', company_id)]")
employee_no = fields.Char(related='employee_id.emp_no', readonly=True,string='Employee Number', store=True)
department_id = fields.Many2one(comodel_name='hr.department', related='employee_id.department_id', readonly=True,store=True)
job_id = fields.Many2one(comodel_name='hr.job', related='employee_id.job_id', readonly=True)
diff --git a/odex25_hr/employee_requests/views/employee_overtime_request.xml b/odex25_hr/employee_requests/views/employee_overtime_request.xml
index 9b22d360c..5977eb420 100644
--- a/odex25_hr/employee_requests/views/employee_overtime_request.xml
+++ b/odex25_hr/employee_requests/views/employee_overtime_request.xml
@@ -25,7 +25,7 @@
employee.overtime.request