forked from Techsystech/web
[IMP] web_widget_one2many_product_picker: Don't reload records data
parent
c964295a27
commit
65febbb2c3
|
@ -584,7 +584,8 @@ odoo.define("web_widget_one2many_product_picker.FieldOne2ManyProductPicker", fun
|
||||||
_onCreateQuickRecord: function (evt) {
|
_onCreateQuickRecord: function (evt) {
|
||||||
evt.stopPropagation();
|
evt.stopPropagation();
|
||||||
var self = this;
|
var self = this;
|
||||||
this.parent_controller.model.setPureVirtual(evt.data.id, false);
|
var model = this.parent_controller.model;
|
||||||
|
model.setPureVirtual(evt.data.id, false);
|
||||||
|
|
||||||
if (this.options.auto_save) {
|
if (this.options.auto_save) {
|
||||||
// Dont trigger state update
|
// Dont trigger state update
|
||||||
|
@ -593,16 +594,10 @@ odoo.define("web_widget_one2many_product_picker.FieldOne2ManyProductPicker", fun
|
||||||
{notifyChange: false}
|
{notifyChange: false}
|
||||||
).then(function () {
|
).then(function () {
|
||||||
self.parent_controller.saveRecord(undefined, {stayInEdit: true}).then(function () {
|
self.parent_controller.saveRecord(undefined, {stayInEdit: true}).then(function () {
|
||||||
// Because 'create' generates a new state and we can't know these new id we
|
self.renderer.updateState(model.get(self.parent_controller.handle).data[self.name], {force: true});
|
||||||
// need force update all the current states.
|
if (evt.data.callback) {
|
||||||
self._setValue(
|
evt.data.callback();
|
||||||
{operation: "UPDATE", id: evt.data.id},
|
}
|
||||||
{doNotSetDirty: true}
|
|
||||||
).then(function () {
|
|
||||||
if (evt.data.callback) {
|
|
||||||
evt.data.callback();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
});
|
});
|
||||||
if (evt.data.callback) {
|
if (evt.data.callback) {
|
||||||
evt.data.callback();
|
evt.data.callback();
|
||||||
|
@ -631,15 +626,10 @@ odoo.define("web_widget_one2many_product_picker.FieldOne2ManyProductPicker", fun
|
||||||
{notifyChange: false}
|
{notifyChange: false}
|
||||||
).then(function () {
|
).then(function () {
|
||||||
self.parent_controller.saveRecord(undefined, {stayInEdit: true}).then(function () {
|
self.parent_controller.saveRecord(undefined, {stayInEdit: true}).then(function () {
|
||||||
// Workaround to get updated values
|
self.renderer.updateState(self.parent_controller.model.get(self.parent_controller.handle).data[self.name], {force: true});
|
||||||
self.parent_controller.model.reload(self.value.id).then(function (result) {
|
if (callback) {
|
||||||
var new_data = self.parent_controller.model.get(result);
|
callback();
|
||||||
self.value.data = new_data.data;
|
}
|
||||||
self.renderer.updateState(self.value, {force: true});
|
|
||||||
if (callback) {
|
|
||||||
callback();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
});
|
});
|
||||||
if (callback) {
|
if (callback) {
|
||||||
callback();
|
callback();
|
||||||
|
|
Loading…
Reference in New Issue