forked from Mapan/odoo17e
62 lines
2.3 KiB
JavaScript
62 lines
2.3 KiB
JavaScript
/** @odoo-module */
|
|
|
|
import { registry } from "@web/core/registry";
|
|
import { mockJoinSpreadsheetSession } from "@spreadsheet_edition/../tests/utils/mock_server";
|
|
|
|
registry
|
|
.category("mock_server")
|
|
.add("documents.document/get_spreadsheets_to_display", function () {
|
|
return this.models["documents.document"].records
|
|
.filter((document) => document.handler === "spreadsheet")
|
|
.map((spreadsheet) => ({
|
|
name: spreadsheet.name,
|
|
id: spreadsheet.id,
|
|
}));
|
|
})
|
|
.add("documents.document/join_spreadsheet_session", function (route, args) {
|
|
const result = mockJoinSpreadsheetSession("documents.document").call(this, route, args);
|
|
const [id] = args.args;
|
|
const record = this.models["documents.document"].records.find((record) => record.id === id);
|
|
result.is_favorited = record.is_favorited;
|
|
result.folder_id = record.folder_id;
|
|
return result;
|
|
})
|
|
.add("documents.document/dispatch_spreadsheet_message", () => false)
|
|
.add("documents.document/action_open_new_spreadsheet", function (route, args) {
|
|
const spreadsheetId = this.mockCreate("documents.document", {
|
|
name: "Untitled spreadsheet",
|
|
mimetype: "application/o-spreadsheet",
|
|
spreadsheet_data: "{}",
|
|
handler: "spreadsheet",
|
|
});
|
|
return {
|
|
type: "ir.actions.client",
|
|
tag: "action_open_spreadsheet",
|
|
params: {
|
|
spreadsheet_id: spreadsheetId,
|
|
is_new_spreadsheet: true,
|
|
},
|
|
};
|
|
})
|
|
.add("spreadsheet.template/fetch_template_data", function (route, args) {
|
|
const [id] = args.args;
|
|
const record = this.models["spreadsheet.template"].records.find(
|
|
(record) => record.id === id
|
|
);
|
|
if (!record) {
|
|
throw new Error(`Spreadsheet Template ${id} does not exist`);
|
|
}
|
|
return {
|
|
data:
|
|
typeof record.spreadsheet_data === "string"
|
|
? JSON.parse(record.spreadsheet_data)
|
|
: record.spreadsheet_data,
|
|
name: record.name,
|
|
isReadonly: false,
|
|
};
|
|
})
|
|
.add(
|
|
"spreadsheet.template/join_spreadsheet_session",
|
|
mockJoinSpreadsheetSession("spreadsheet.template")
|
|
);
|