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 aa475f05bb0..fb3f520e758 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
@@ -11,7 +11,14 @@ import { EmployeeFieldRelationMixin } from "@hr/views/fields/employee_field_rela
export class Many2OneAvatarEmployeeField extends EmployeeFieldRelationMixin(
Many2OneAvatarUserField
-) {}
+) {
+ get many2OneProps() {
+ return {
+ ...super.many2OneProps,
+ relation: this.relation,
+ };
+ }
+}
export const many2OneAvatarEmployeeField = {
...many2OneAvatarUserField,
@@ -31,7 +38,14 @@ registry.category("fields").add("many2one_avatar_employee", many2OneAvatarEmploy
export class KanbanMany2OneAvatarEmployeeField extends EmployeeFieldRelationMixin(
KanbanMany2OneAvatarUserField
-) {}
+) {
+ get many2OneProps() {
+ return {
+ ...super.many2OneProps,
+ relation: this.relation,
+ };
+ }
+}
export const kanbanMany2OneAvatarEmployeeField = {
...kanbanMany2OneAvatarUserField,
diff --git a/addons/hr/static/tests/m2x_avatar_employee_tests.js b/addons/hr/static/tests/m2x_avatar_employee_tests.js
index 24fe8c75122..697c423b8db 100644
--- a/addons/hr/static/tests/m2x_avatar_employee_tests.js
+++ b/addons/hr/static/tests/m2x_avatar_employee_tests.js
@@ -8,6 +8,8 @@ import { dom } from "@web/../tests/legacy/helpers/test_utils";
import { contains } from "@web/../tests/utils";
import { registry } from "@web/core/registry";
import { makeFakeUserService } from "@web/../tests/helpers/mock_services";
+import { selectDropdownItem } from "@web/../tests/helpers/utils";
+import { makeView, setupViewRegistries } from "@web/../tests/views/helpers";
const serviceRegistry = registry.category("services");
@@ -217,6 +219,63 @@ QUnit.test("many2one_avatar_employee with relation set in options", async functi
);
});
+QUnit.test("many2one_avatar_employee without hr.group_hr_user", async function (assert) {
+ assert.expect(2);
+
+ setupViewRegistries();
+ serviceRegistry.add(
+ "user",
+ makeFakeUserService((group) => group !== "hr.group_hr_user"),
+ { force: true }
+ );
+
+ await makeView({
+ type: "form",
+ resModel: "m2x.avatar.employee",
+ serverData: {
+ models: {
+ "m2x.avatar.employee": {
+ fields: {
+ employee_id: {
+ string: "employee", type: "one2many", relation: "hr.employee"
+ },
+ },
+ records: [],
+ },
+ "hr.employee": {
+ fields: {
+ display_name: { string: "Displayed name", type: "char" },
+ },
+ records: [
+ { display_name: "babar" },
+ ],
+ },
+ "hr.employee.public": {
+ fields: {
+ display_name: { string: "Displayed name", type: "char" },
+ },
+ records: [
+ { display_name: "babar" },
+ ],
+ },
+ },
+ views: {
+ "hr.employee.public,false,list": `