From 252d7f4b39962166245ef680ccd397bdccb1bd63 Mon Sep 17 00:00:00 2001 From: Rob Coekaerts Date: Thu, 14 Apr 2022 14:50:06 +0200 Subject: [PATCH] [ADD] hr_homeworking: add homeworking information and features for employees task-2700425 --- addons/hr/models/hr_employee_base.py | 4 ++-- addons/hr/models/res_config_settings.py | 1 + addons/hr/views/hr_employee_views.xml | 22 +++++++++++++------ addons/hr/views/res_config_settings_views.xml | 13 ++++++++++- addons/hr_holidays/views/hr_views.xml | 12 ++++++++-- .../models/hr_contract.py | 2 +- 6 files changed, 41 insertions(+), 13 deletions(-) diff --git a/addons/hr/models/hr_employee_base.py b/addons/hr/models/hr_employee_base.py index 6c36418d652..f4414b5edf3 100644 --- a/addons/hr/models/hr_employee_base.py +++ b/addons/hr/models/hr_employee_base.py @@ -107,9 +107,9 @@ class HrEmployeeBase(models.AbstractModel): for employee in self: state = 'to_define' if check_login: - if employee.user_id.im_status == 'online': + if employee.user_id.im_status in ['online', 'leave_online']: state = 'present' - elif employee.user_id.im_status == 'offline' and employee.id not in working_now_list: + elif employee.user_id.im_status in ['offline', 'leave_offline'] and employee.id not in working_now_list: state = 'absent' employee.hr_presence_state = state diff --git a/addons/hr/models/res_config_settings.py b/addons/hr/models/res_config_settings.py index 5308b036a14..bdc865cf3af 100644 --- a/addons/hr/models/res_config_settings.py +++ b/addons/hr/models/res_config_settings.py @@ -13,6 +13,7 @@ class ResConfigSettings(models.TransientModel): related='company_id.resource_calendar_id', readonly=False) module_hr_presence = fields.Boolean(string="Advanced Presence Control") module_hr_skills = fields.Boolean(string="Skills Management") + module_hr_homeworking = fields.Boolean(string="Homeworking") hr_presence_control_login = fields.Boolean(string="Based on user status in system", config_parameter='hr.hr_presence_control_login') hr_presence_control_email = fields.Boolean(string="Based on number of emails sent", config_parameter='hr_presence.hr_presence_control_email') hr_presence_control_ip = fields.Boolean(string="Based on IP Address", config_parameter='hr_presence.hr_presence_control_ip') diff --git a/addons/hr/views/hr_employee_views.xml b/addons/hr/views/hr_employee_views.xml index 06fde12676d..a3e977df1e6 100644 --- a/addons/hr/views/hr_employee_views.xml +++ b/addons/hr/views/hr_employee_views.xml @@ -49,6 +49,7 @@ +
@@ -66,9 +67,14 @@
- - - + + + + + + + +
@@ -231,7 +237,7 @@ hr.employee.tree hr.employee - +
@@ -434,11 +440,13 @@ Employees hr.employee - kanban,form,tree + tree,kanban,form { - "searchpanel_default_department_id": active_id, - "default_department_id": active_id} + "default_department_id": active_id, + "search_default_group_department": 1, + "search_default_department_id": active_id, + "expand": 1}

diff --git a/addons/hr/views/res_config_settings_views.xml b/addons/hr/views/res_config_settings_views.xml index 849a9631fe5..0a37e1f6fbe 100644 --- a/addons/hr/views/res_config_settings_views.xml +++ b/addons/hr/views/res_config_settings_views.xml @@ -11,7 +11,6 @@

Employees

-
Presence Control
@@ -88,6 +87,18 @@
+
+
+ +
+
+
+

Employee Update Rights

diff --git a/addons/hr_holidays/views/hr_views.xml b/addons/hr_holidays/views/hr_views.xml index 6081b56097f..a41d5673726 100644 --- a/addons/hr_holidays/views/hr_views.xml +++ b/addons/hr_holidays/views/hr_views.xml @@ -50,7 +50,9 @@ -
+
@@ -159,9 +161,15 @@ - {'invisible': ['|', '|', '|', ('last_activity', '=', False), ('is_absent', '=', True), ('user_id', '=', False), ('id', '=', False)]} + {'invisible': ['|', '|', ('last_activity', '=', False), ('user_id', '=', False), ('id', '=', False)]} + + +