44 lines
1.3 KiB
JavaScript
44 lines
1.3 KiB
JavaScript
/* @odoo-module */
|
|
|
|
import { patch } from "@web/core/utils/patch";
|
|
import { MockServer } from "@web/../tests/helpers/mock_server";
|
|
|
|
patch(MockServer.prototype, {
|
|
/**
|
|
* Simulates `_mail_track` on `base`
|
|
*
|
|
* @param {string} model
|
|
* @param {Object} trackedFieldNamesToField
|
|
* @param {Object} initialTrackedFieldValues
|
|
* @param {Object} record
|
|
* @returns {Object}
|
|
*/
|
|
_mockMailBaseModel__MailTrack(
|
|
model,
|
|
trackedFieldNamesToField,
|
|
initialTrackedFieldValues,
|
|
record
|
|
) {
|
|
const trackingValueIds = [];
|
|
const changedFieldNames = [];
|
|
for (const fname in trackedFieldNamesToField) {
|
|
const initialValue = initialTrackedFieldValues[fname];
|
|
const newValue = record[fname];
|
|
if (initialValue !== newValue) {
|
|
const tracking = this._mockMailTrackingValue_CreateTrackingValues(
|
|
initialValue,
|
|
newValue,
|
|
fname,
|
|
trackedFieldNamesToField[fname],
|
|
model
|
|
);
|
|
if (tracking) {
|
|
trackingValueIds.push(tracking);
|
|
}
|
|
changedFieldNames.push(fname);
|
|
}
|
|
}
|
|
return { changedFieldNames, trackingValueIds };
|
|
},
|
|
});
|