server-tools/base_changeset/static/src/components/record.esm.js

32 lines
1.1 KiB
JavaScript

/* @odoo-module */
import {Record} from "@web/views/basic_relational_model";
import {patch} from "@web/core/utils/patch";
patch(Record.prototype, "base_changeset.Record", {
/* Call the ORM to get this record's changeset changes */
async fetchChangesetChanges() {
return this.model.orm.call(
"record.changeset.change",
"get_changeset_changes_by_field",
[this.resModel, this.resId]
);
},
/* After loading the form's record data, fetch the changeset changes */
async load() {
await this._super(...arguments);
if (this.__viewType === "form" && this.resId) {
this.changesetChanges = await this.fetchChangesetChanges();
}
},
/* Call the ORM to get this record's changeset changes after the form is modified */
async save() {
const isSaved = await this._super(...arguments);
if (this.__viewType === "form" && this.resId) {
this.changesetChanges = await this.fetchChangesetChanges();
this.model.notify();
}
return isSaved;
},
});