summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorfw-bot <otis@odoo.com>2019-11-15 17:12:38 +0000
committerYannick Tivisse <yti@odoo.com>2019-11-18 13:33:30 +0000
commit4c28667efd3a6d7560be9fe656a0f48328f6c1ea (patch)
tree3507359d39dc9006b25db5cd6011c1d778822c39
parente9106f8f98ff5494132722d70c0f5bffce027f49 (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.py6
-rw-r--r--addons/hr_holidays/report/hr_leave_report.py9
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)