diff options
| author | fw-bot <otis@odoo.com> | 2019-11-15 17:12:38 +0000 |
|---|---|---|
| committer | Yannick Tivisse <yti@odoo.com> | 2019-11-18 13:33:30 +0000 |
| commit | 4c28667efd3a6d7560be9fe656a0f48328f6c1ea (patch) | |
| tree | 3507359d39dc9006b25db5cd6011c1d778822c39 | |
| parent | e9106f8f98ff5494132722d70c0f5bffce027f49 (diff) | |
[IMP] hr_holidays: prevent grouping leaves by name
closes odoo/odoo#40426
Taskid: 2088559
X-original-commit: 5653520252f321d1fa185bffd897952830b509c4
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
| -rw-r--r-- | addons/hr_holidays/models/hr_leave.py | 6 | ||||
| -rw-r--r-- | addons/hr_holidays/report/hr_leave_report.py | 9 |
2 files changed, 13 insertions, 2 deletions
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) |
