oca-ocb-hr/odoo-bringout-oca-ocb-hr_gamification/hr_gamification/static/src/messaging_menu_patch.js
Ernad Husremovic e1d89e11e3 19.0 vanilla
2026-03-09 09:31:00 +01:00

44 lines
1.4 KiB
JavaScript

import { MessagingMenu } from "@mail/core/public_web/messaging_menu";
import { patch } from "@web/core/utils/patch";
import { useService } from "@web/core/utils/hooks";
import { user } from "@web/core/user";
patch(MessagingMenu.prototype, {
setup() {
super.setup();
this.action = useService("action");
this.orm = useService("orm");
},
onClickThread(isMarkAsRead, thread, message) {
if (!isMarkAsRead && thread.model === "gamification.badge.user") {
this.openEmployeeView(thread);
} else {
super.onClickThread(...arguments);
}
},
async openEmployeeView(thread) {
const employeeId = await this.orm.searchRead("hr.employee.public",
[["user_id", "=", user.userId],
["company_id", "in", user.activeCompany.id]],
["id"]
)
if (employeeId.length > 0) {
await this.action.doAction({
type: "ir.actions.act_window",
res_model: 'hr.employee.public',
res_id: employeeId[0].id,
views: [[false, "form"]],
target: "current",
context: {
open_badges_tab: true,
user_badge_id: thread.id
},
});
this.markAsRead(thread);
this.dropdown.close();
}
}
});