1
0
forked from Mapan/odoo17e
odoo17e-kedaikipas58/addons/helpdesk_timesheet/static/tests/helpers.js
2024-12-10 09:04:09 +07:00

84 lines
3.0 KiB
JavaScript

/** @odoo-module */
import { patch } from "@web/core/utils/patch";
import { registry } from "@web/core/registry";
import { timerHelpdeskService } from "@helpdesk_timesheet/services/helpdesk_timer_header_service";
import { TimesheetGridSetupHelper, timesheetListSetupHelper } from "@timesheet_grid/../tests/helpers";
const serviceRegistry = registry.category("services");
patch(timesheetListSetupHelper, {
setupTimesheetList() {
super.setupTimesheetList();
serviceRegistry.add("helpdesk_timer_header", timerHelpdeskService, { force: true });
},
});
patch(TimesheetGridSetupHelper.prototype, {
async mockTimesheetGridRPC(route, args) {
const result = await super.mockTimesheetGridRPC(route, args);
if (route === '/web/dataset/call_kw/res.users/has_group') {
return true;
}
return result;
},
async setupTimesheetGrid() {
serviceRegistry.add("helpdesk_timer_header", timerHelpdeskService, { force: true });
const result = await super.setupTimesheetGrid();
if (this.withTimer) {
const { pyEnv } = result;
const projectId5 = pyEnv.mockServer.pyEnv['project.project'].create({ display_name: "helpdesk Project" });
pyEnv.mockServer.models["helpdesk.team"] = {
fields: {
id: { string: "ID", type: "integer" },
name: { string: "Description", type: "char" },
project_id: {
string: "Project",
type: "many2one",
relation: "project.project",
},
},
records: [
{
id: 1,
project_id: projectId5,
name: "fdfdfdf",
},
],
};
pyEnv.mockServer.models["helpdesk.ticket"] = {
fields: {
id: { string: "ID", type: "integer" },
name: { string: "Description", type: "char" },
team_id: {
string: "team",
type: "many2one",
relation: "helpdesk.team_id",
},
project_id: {
string: "Project",
type: "many2one",
relation: "project.project",
},
},
records: [
{
id: 1,
team_id: 1,
project_id: projectId5,
name: "fdfdfdf",
},
],
};
pyEnv.mockServer.models["analytic.line"].fields.helpdesk_ticket_id = {
string: "Ticket",
type: "many2one",
relation: "helpdesk.ticket",
};
}
return result;
},
});