diff --git a/addons/hr_holidays/models/hr_leave.py b/addons/hr_holidays/models/hr_leave.py index 16e3e551cc5..f8bfe245171 100644 --- a/addons/hr_holidays/models/hr_leave.py +++ b/addons/hr_holidays/models/hr_leave.py @@ -703,6 +703,12 @@ class HolidaysRequest(models.Model): def _get_mail_redirect_suggested_company(self): return self.holiday_status_id.company_id + @api.model + def read_group(self, domain, fields, groupby, offset=0, limit=None, orderby=False, lazy=True): + if not self.user_has_groups('hr_holidays.group_hr_holidays_user') and 'private_name' in groupby: + raise UserError(_('Such grouping is not allowed.')) + return super(HolidaysRequest, self).read_group(domain, fields, groupby, offset=offset, limit=limit, orderby=orderby, lazy=lazy) + #################################################### # Business methods #################################################### diff --git a/addons/hr_holidays/report/hr_leave_report.py b/addons/hr_holidays/report/hr_leave_report.py index ab30fddf1eb..c6bf97722fd 100644 --- a/addons/hr_holidays/report/hr_leave_report.py +++ b/addons/hr_holidays/report/hr_leave_report.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- # Part of Odoo. See LICENSE file for full copyright and licensing details. -from odoo import api, fields, models, tools, _ +from odoo import api, fields, models, tools, exceptions, _ from odoo.osv import expression @@ -98,7 +98,6 @@ class LeaveReport(models.Model): # skip SpecialValue (e.g. for missing record or access right) pass - @api.model def action_time_off_analysis(self): domain = [('holiday_type', '=', 'employee')] @@ -121,3 +120,9 @@ class LeaveReport(models.Model): 'search_default_year': True } } + + @api.model + def read_group(self, domain, fields, groupby, offset=0, limit=None, orderby=False, lazy=True): + if not self.user_has_groups('hr_holidays.group_hr_holidays_user') and 'private_name' in groupby: + raise exceptions.UserError(_('Such grouping is not allowed.')) + return super(LeaveReport, self).read_group(domain, fields, groupby, offset=offset, limit=limit, orderby=orderby, lazy=lazy)