From 7b9a705f71543216bfb186f6b02ba0943e2ed30c Mon Sep 17 00:00:00 2001 From: Kevin Baptiste Date: Tue, 28 Mar 2023 08:59:00 +0000 Subject: [PATCH] [FIX] hr: show employee's avatar Users without HR Officer rights would see an empty avatar for the employees, as the m2x_avatar_fields were using `hr.employee` as model. closes odoo/odoo#116972 X-original-commit: 3205680cf902e1b84900f28cfdda5528cbb37ae5 Signed-off-by: Kevin Baptiste --- .../many2many_avatar_employee_field.js | 12 ++++++++++-- .../many2one_avatar_employee_field.js | 12 ++++++++++-- addons/hr_holidays/models/hr_leave.py | 2 +- 3 files changed, 21 insertions(+), 5 deletions(-) diff --git a/addons/hr/static/src/views/fields/many2many_avatar_employee_field/many2many_avatar_employee_field.js b/addons/hr/static/src/views/fields/many2many_avatar_employee_field/many2many_avatar_employee_field.js index 34cebb2d207..b966923dc12 100644 --- a/addons/hr/static/src/views/fields/many2many_avatar_employee_field/many2many_avatar_employee_field.js +++ b/addons/hr/static/src/views/fields/many2many_avatar_employee_field/many2many_avatar_employee_field.js @@ -8,7 +8,11 @@ import { kanbanMany2ManyTagsAvatarUserField, } from "@mail/web/fields/many2many_avatar_user_field/many2many_avatar_user_field"; -export class Many2ManyTagsAvatarEmployeeField extends Many2ManyTagsAvatarUserField {} +export class Many2ManyTagsAvatarEmployeeField extends Many2ManyTagsAvatarUserField { + get relation() { + return 'hr.employee.public'; + } +} export const many2ManyTagsAvatarEmployeeField = { ...many2ManyTagsAvatarUserField, @@ -21,7 +25,11 @@ export const many2ManyTagsAvatarEmployeeField = { registry.category("fields").add("many2many_avatar_employee", many2ManyTagsAvatarEmployeeField); -export class KanbanMany2ManyTagsAvatarEmployeeField extends KanbanMany2ManyTagsAvatarUserField {} +export class KanbanMany2ManyTagsAvatarEmployeeField extends KanbanMany2ManyTagsAvatarUserField { + get relation() { + return 'hr.employee.public'; + } +} export const kanbanMany2ManyTagsAvatarEmployeeField = { ...kanbanMany2ManyTagsAvatarUserField, diff --git a/addons/hr/static/src/views/fields/many2one_avatar_employee_field/many2one_avatar_employee_field.js b/addons/hr/static/src/views/fields/many2one_avatar_employee_field/many2one_avatar_employee_field.js index f35ead8d8e6..bef813d9572 100644 --- a/addons/hr/static/src/views/fields/many2one_avatar_employee_field/many2one_avatar_employee_field.js +++ b/addons/hr/static/src/views/fields/many2one_avatar_employee_field/many2one_avatar_employee_field.js @@ -8,7 +8,11 @@ import { kanbanMany2OneAvatarUserField, } from "@mail/web/fields/many2one_avatar_user_field/many2one_avatar_user_field"; -export class Many2OneAvatarEmployeeField extends Many2OneAvatarUserField {} +export class Many2OneAvatarEmployeeField extends Many2OneAvatarUserField { + get relation() { + return 'hr.employee.public'; + } +} export const many2OneAvatarEmployeeField = { ...many2OneAvatarUserField, @@ -21,7 +25,11 @@ export const many2OneAvatarEmployeeField = { registry.category("fields").add("many2one_avatar_employee", many2OneAvatarEmployeeField); -export class KanbanMany2OneAvatarEmployeeField extends KanbanMany2OneAvatarUserField {} +export class KanbanMany2OneAvatarEmployeeField extends KanbanMany2OneAvatarUserField { + get relation() { + return 'hr.employee.public'; + } +} export const kanbanMany2OneAvatarEmployeeField = { ...kanbanMany2OneAvatarUserField, diff --git a/addons/hr_holidays/models/hr_leave.py b/addons/hr_holidays/models/hr_leave.py index 07b36e98a18..a68f94c01e8 100644 --- a/addons/hr_holidays/models/hr_leave.py +++ b/addons/hr_holidays/models/hr_leave.py @@ -231,7 +231,7 @@ class HolidaysRequest(models.Model): inverse='_inverse_supported_attachment_ids') supported_attachment_ids_count = fields.Integer(compute='_compute_supported_attachment_ids') # UX fields - all_employee_ids = fields.Many2many('hr.employee', compute='_compute_all_employees') + all_employee_ids = fields.Many2many('hr.employee', compute='_compute_all_employees', compute_sudo=True) leave_type_request_unit = fields.Selection(related='holiday_status_id.request_unit', readonly=True) leave_type_support_document = fields.Boolean(related="holiday_status_id.support_document") # Interface fields used when not using hour-based computation