Merge pull request #4801 from expsa/kch_dev_odex25_hr

[IMP] Add manager_id hr models
This commit is contained in:
kchyounes19 2025-10-05 10:56:49 +01:00 committed by GitHub
commit 2e535b8e93
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
21 changed files with 47 additions and 3 deletions

View File

@ -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

View File

@ -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')),

View File

@ -69,6 +69,7 @@
attrs="{'readonly':[('state','!=','draft')]}"/>
<field name="employee_id" string="Employee"
attrs="{'readonly': ['|',('from_hr_depart','=',False),('state','!=','draft')],'required':True}"/>
<field name="manager_id"/>
<field name="employee_no" string="Employee Number" readonly="1"/>
<field name="department_id" string="Department" required="1" readonly="1"/>
<field name="job_id" string="Job" required="1" readonly="1"/>

View File

@ -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 "المدير المباشر"

View File

@ -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')

View File

@ -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")),

View File

@ -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")

View File

@ -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)

View File

@ -25,7 +25,7 @@
<field name="model">employee.overtime.request</field>
<field name="arch" type="xml">
<form>
<header>f
<header>
<button name="submit" string="Submit" class="oe_highlight" type="object"
states="draft" groups="base.group_user"/>
@ -67,6 +67,7 @@
<group>
<field name="transfer_type" attrs="{'readonly':[('state','!=','financial_manager')], 'required': [('state', '=', 'financial_manager')]}"/>
<field name="employee_id" string="Responsible " required="1" attrs="{'readonly':[('state','!=','draft')]}"/>
<field name="manager_id"/>
<field name="employee_no" string="Employee Number" readonly="1"/>
<field name="date_from" string="Date From"

View File

@ -73,6 +73,7 @@
attrs="{'readonly':[('state','!=','draft')]}"/>
<field name="employee_id" string="Employee Name"
attrs="{'readonly':['|',('state','!=','draft'),('from_hr_department','!=',True)],'required':[('from_hr_department','=',True)]}"/>
<field name="manager_id"/>
<field name="employee_no" string="Employee Number" readonly="1"/>
<field name="date" string="Date Request" required="1"
attrs="{'readonly':[('state','!=','draft')]}"/>

View File

@ -78,6 +78,7 @@
attrs="{'readonly':[('state','!=','draft')]}"/>
<field name="employee_id" string="Employee"
attrs="{'readonly': ['|',('from_hr_department','=',False),('state','!=','draft')],'required':True}"/>
<field name="manager_id"/>
<field name="employee_no" string="Employee Number" readonly="1"/>
<field name="job_id" string="Job Title" readonly="1"/>
<field name="department_id" string="Department" readonly="1"/>

View File

@ -79,6 +79,7 @@
attrs="{'readonly':[('state','!=','draft')]}"/>
<field name="employee_id" string="Employee Name"
attrs="{'readonly': ['|',('from_hr','=',False),('state','!=','draft')],'required':True}"/>
<field name="manager_id"/>
<field name="employee_no" string="Employee Number" readonly="1"/>
<field name="department_id" string="Department"/>

View File

@ -2751,6 +2751,7 @@ msgid "Employee %s, The Mission %s Has No Account Setting Base On Employee Type.
msgstr "الموظف %s,لايوجد إعدادات بند الصرف لـ %s حسب نوع الموظف."
#. module: exp_official_mission
#: model:ir.model.fields,field_description:exp_official_mission.field_hr_official_mission__manager_id
#: model:ir.model.fields.selection,name:exp_official_mission.selection__hr_official_mission_type__approve_by__direct_manager
msgid "Direct Manager"
msgstr "المدير المباشر"

View File

@ -88,6 +88,9 @@ class HrOfficialMission(models.Model):
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)
reference = fields.Char(string="Reference Number")

View File

@ -159,6 +159,7 @@
<field name="employee_id"
string="Responsible" required="1"
attrs="{'readonly':[('state','!=','draft')]}" />
<field name="manager_id"/>
<field name="employee_no"
string="Employee Number" readonly="1" />
<field name="department_id2"

View File

@ -782,6 +782,7 @@ msgstr "فرق الايام"
#: code:addons/hr_holidays_public/models/return_from_leave.py:0
#: model:ir.model.fields.selection,name:hr_holidays_public.selection__buy_vacation__state__d_manager
#: model:ir.model.fields.selection,name:hr_holidays_public.selection__return_from_leave__state__review
#: model:ir.model.fields,field_description:hr_holidays_public.field_leave_cancellation__manager_id
#: model_terms:ir.ui.view,arch_db:hr_holidays_public.buy_vacation_form_view
#: model_terms:ir.ui.view,arch_db:hr_holidays_public.return_from_leave_form_view
#, python-format

View File

@ -29,6 +29,9 @@ class LeaveCancellation(models.Model):
leave_date_to = fields.Datetime(string="Leave Date End", store=True)
attachment_ids = fields.One2many('ir.attachment', 'leave_cancel_id')
employee_id = fields.Many2one('hr.employee', 'Employee', 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)]")
duration_canceled = fields.Float(store=1)
salary_rule_id = fields.Many2one('hr.salary.rule', string='Benefits/Discounts')
reconcile_leave = fields.Boolean(related='leave_request_id.reconcile_leave')

View File

@ -44,6 +44,7 @@
<field name="from_hr_department" string="Another Employee" attrs="{'readonly':[('state','!=','draft')]}"/>
<field name="employee_id" string="Employee"
attrs="{'readonly':['|',('from_hr_department' , '=' , False),('state','!=','draft')]}" required="1"/>
<field name="manager_id"/>
<field name="job_id" string="Job Title" readonly="1"/>
<field name="department_id" string="Department" readonly="1"/>

View File

@ -2130,3 +2130,8 @@ msgid ""
"You cannot terminate the employee \"%s\" because there are \"%s\" custody "
"requests that exceeded the allowed amount and are not yet closed."
msgstr "لا يمكن إنهاء خدمة الموظف \"%s\" حيث توجد \"%s\" عهد تجاوزت المبلغ المسموح ولم تُغلق بعد."
#. module: hr_termination
#: model:ir.model.fields,field_description:hr_termination.field_hr_termination__manager_id
msgid "Direct Manager"
msgstr "المدير المباشر"

View File

@ -91,6 +91,9 @@ class HrTermination(models.Model):
employee_id = fields.Many2one(comodel_name='hr.employee', string="Employee", default=_get_employee_id,
help='Name of the employee for whom the request is creating',
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', string="Department",
related='employee_id.department_id',

View File

@ -58,6 +58,7 @@
<field name="from_hr" string="Another Employee" attrs="{'readonly':[('state','!=','draft')]}"/>
<field name="employee_id" string="Employee"
attrs="{'readonly': ['|',('from_hr','=',False),('state','!=','draft')],'required':True}"/>
<field name="manager_id"/>
<field name="employee_no" string="Employee Number" readonly="1"/>
<field name="company_id" groups="base.group_multi_company" readonly="1"/>
</group>