diff --git a/addons/hr_holidays/__manifest__.py b/addons/hr_holidays/__manifest__.py index 5629bde4807..1849b635f15 100644 --- a/addons/hr_holidays/__manifest__.py +++ b/addons/hr_holidays/__manifest__.py @@ -24,7 +24,7 @@ You can keep track of leaves in different ways by following reports: A synchronization with an internal agenda (Meetings of the CRM module) is also possible in order to automatically create a meeting when a leave request is accepted by setting up a type of meeting in Leave Type. """, - 'depends': ['hr', 'calendar', 'resource', 'product', 'report'], + 'depends': ['hr', 'calendar', 'resource', 'report'], 'data': [ 'data/report_paperformat.xml', 'data/hr_holidays_data.xml', diff --git a/addons/hr_holidays/models/hr_holidays.py b/addons/hr_holidays/models/hr_holidays.py index b39068cb866..60d59775501 100644 --- a/addons/hr_holidays/models/hr_holidays.py +++ b/addons/hr_holidays/models/hr_holidays.py @@ -186,8 +186,10 @@ class Holidays(models.Model): manager_id = fields.Many2one('hr.employee', string='First Approval', readonly=True, copy=False, help='This area is automatically filled by the user who validate the leave') notes = fields.Text('Reasons', readonly=True, states={'draft': [('readonly', False)], 'confirm': [('readonly', False)]}) - number_of_days_temp = fields.Float('Allocation', readonly=True, copy=False, - states={'draft': [('readonly', False)], 'confirm': [('readonly', False)]}) + number_of_days_temp = fields.Float( + 'Allocation', copy=False, readonly=True, + states={'draft': [('readonly', False)], 'confirm': [('readonly', False)]}, + help='Number of days of the leave request according to your working schedule.') number_of_days = fields.Float('Number of Days', compute='_compute_number_of_days', store=True, track_visibility='onchange') meeting_id = fields.Many2one('calendar.event', string='Meeting') type = fields.Selection([ @@ -283,13 +285,7 @@ class Holidays(models.Model): if employee_id: employee = self.env['hr.employee'].browse(employee_id) - resource = employee.resource_id - if resource and resource.calendar_id: - hours = resource.calendar_id.get_work_hours_count(from_dt, to_dt, resource_id=resource.id, compute_leaves=True) - uom_hour = resource.calendar_id.uom_id - uom_day = self.env.ref('product.product_uom_day') - if uom_hour and uom_day: - return uom_hour._compute_quantity(hours, uom_day) + return employee.get_work_days_count(from_dt, to_dt) time_delta = to_dt - from_dt return math.ceil(time_delta.days + float(time_delta.seconds) / 86400) diff --git a/addons/hr_holidays/models/resource.py b/addons/hr_holidays/models/resource.py index 88e0f66ac4a..54e27c74cca 100644 --- a/addons/hr_holidays/models/resource.py +++ b/addons/hr_holidays/models/resource.py @@ -1,20 +1,7 @@ # -*- coding: utf-8 -*- # Part of Odoo. See LICENSE file for full copyright and licensing details. -from odoo import api, fields, models - - -class Calendar(models.Model): - - _inherit = "resource.calendar" - - uom_id = fields.Many2one("product.uom", string="Hours per Day", required=True, - default=lambda self: self.env.ref('product.product_uom_hour'), - help="""Average hours of work per day. - It is used in an employee leave request to compute the number of days consumed based on the resource calendar. - It can be used to handle various contract types, e.g.: - - 38 Hours/Week, 5 Days/Week: 1 Day = 7.6 Hours - - 45 Hours/Week, 5 Days/Week: 1 Day = 9.0 Hours""") +from odoo import fields, models class CalendarLeaves(models.Model): diff --git a/addons/hr_holidays/views/resource_views.xml b/addons/hr_holidays/views/resource_views.xml index 373014b94e9..f6577480273 100644 --- a/addons/hr_holidays/views/resource_views.xml +++ b/addons/hr_holidays/views/resource_views.xml @@ -1,17 +1,5 @@ - - - resource.calendar.form.inherit - resource.calendar - - - - - - - - resource.calendar.leaves.form.inherit @@ -23,5 +11,4 @@ - - + \ No newline at end of file