[IMP] hr_holidays: separate value preparation and record creation into 2

methods for others to extend functionality

1. _prepare_resource_leave_vals_list() that will prepare value for
creation
later in _create_resource_leave()
2. _create_resource_leave() now calls the
_prepare_resource_leave_vals_list()
instead of having done the job itself

closes odoo/odoo#87081

X-original-commit: 6040670f24da60b1f1b2f1814423c473cc060c8c
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
This commit is contained in:
David Tran
2022-03-25 14:44:27 +01:00
committed by Yannick Tivisse
parent 3892e472f7
commit 242d81e66e
+9 -4
View File
@@ -1076,11 +1076,10 @@ class HolidaysRequest(models.Model):
# Business methods
####################################################
def _create_resource_leave(self):
""" This method will create entry in resource calendar time off object at the time of holidays validated
:returns: created `resource.calendar.leaves`
def _prepare_resource_leave_vals_list(self):
"""Hook method for others to inject data
"""
vals_list = [{
return [{
'name': _("%s: Time Off", leave.employee_id.name),
'date_from': leave.date_from,
'holiday_id': leave.id,
@@ -1089,6 +1088,12 @@ class HolidaysRequest(models.Model):
'calendar_id': leave.employee_id.resource_calendar_id.id,
'time_type': leave.holiday_status_id.time_type,
} for leave in self]
def _create_resource_leave(self):
""" This method will create entry in resource calendar time off object at the time of holidays validated
:returns: created `resource.calendar.leaves`
"""
vals_list = self._prepare_resource_leave_vals_list()
return self.env['resource.calendar.leaves'].sudo().create(vals_list)
def _remove_resource_leave(self):