You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

46 lines
1.8 KiB

/* Copyright 2018 Tecnativa - David Vidal
License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl). */
odoo.define('pos_order_mgmt.models', function (require) {
'use strict';
var models = require('point_of_sale.models');
var _PosModel_push_order = models.PosModel.prototype.push_order;
models.PosModel.prototype.push_order = function () {
var res = _PosModel_push_order.apply(this, arguments);
if (arguments.length && arguments[0] && arguments[0].uid) {
var order = this.db.get_order(arguments[0].uid);
if (order && order.data) {
var data = Object.assign({}, order.data);
var partner = this.db.get_partner_by_id(data.partner_id);
if (partner && partner.id && partner.name) {
data.partner_id = [partner.id, partner.name];
}
data.date_order = moment(order.data.creation_date)
.format('YYYY-MM-DD HH:mm:ss');
this.gui.screen_instances.orderlist.orders.unshift(data);
}
}
return res;
};
var order_super = models.Order.prototype;
models.Order = models.Order.extend({
init_from_JSON: function (json) {
order_super.init_from_JSON.apply(this, arguments);
this.return = json.return;
this.returned_order_id = json.returned_order_id;
this.origin_name = json.origin_name;
},
export_as_JSON: function () {
var res = order_super.export_as_JSON.apply(this, arguments);
if (this.return) {
res.origin_name = this.origin_name;
res.returned_order_id = this.returned_order_id;
res.return = this.return;
}
return res;
},
});
});