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

  1. /* Copyright 2018 Tecnativa - David Vidal
  2. License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl). */
  3. odoo.define('pos_order_mgmt.models', function (require) {
  4. 'use strict';
  5. var models = require('point_of_sale.models');
  6. var _PosModel_push_order = models.PosModel.prototype.push_order;
  7. models.PosModel.prototype.push_order = function () {
  8. var res = _PosModel_push_order.apply(this, arguments);
  9. if (arguments.length && arguments[0] && arguments[0].uid) {
  10. var order = this.db.get_order(arguments[0].uid);
  11. if (order && order.data) {
  12. var data = Object.assign({}, order.data);
  13. var partner = this.db.get_partner_by_id(data.partner_id);
  14. if (partner && partner.id && partner.name) {
  15. data.partner_id = [partner.id, partner.name];
  16. }
  17. data.date_order = moment(order.data.creation_date)
  18. .format('YYYY-MM-DD HH:mm:ss');
  19. this.gui.screen_instances.orderlist.orders.unshift(data);
  20. }
  21. }
  22. return res;
  23. };
  24. var order_super = models.Order.prototype;
  25. models.Order = models.Order.extend({
  26. init_from_JSON: function (json) {
  27. order_super.init_from_JSON.apply(this, arguments);
  28. this.return = json.return;
  29. this.returned_order_id = json.returned_order_id;
  30. this.origin_name = json.origin_name;
  31. },
  32. export_as_JSON: function () {
  33. var res = order_super.export_as_JSON.apply(this, arguments);
  34. if (this.return) {
  35. res.origin_name = this.origin_name;
  36. res.returned_order_id = this.returned_order_id;
  37. res.return = this.return;
  38. }
  39. return res;
  40. },
  41. });
  42. });