From 37e8c342a7017ac59fdb421809dde958ac127b7a Mon Sep 17 00:00:00 2001 From: Tobias Brunner Date: Mon, 26 Aug 2019 15:28:30 +0200 Subject: [PATCH] updated version of pos_product_sequence --- .../pos_product_sequence/models/__init__.pyc | Bin 0 -> 204 bytes .../pos_product_sequence/models/product.py | 14 ++++++-- .../pos_product_sequence/models/product.pyc | Bin 0 -> 987 bytes .../static/src/js/models.js | 31 ++++++++++++++++-- 4 files changed, 41 insertions(+), 4 deletions(-) create mode 100644 odoo/addons/pos_product_sequence/models/__init__.pyc create mode 100644 odoo/addons/pos_product_sequence/models/product.pyc diff --git a/odoo/addons/pos_product_sequence/models/__init__.pyc b/odoo/addons/pos_product_sequence/models/__init__.pyc new file mode 100644 index 0000000000000000000000000000000000000000..6a01310e5e278865441746a18ab7d5830be6e1b4 GIT binary patch literal 204 zcmY+8u?hk)42ILYK@r?se1lH*1w>q29dr|+lxx6hd##rixp(r7d<V4ms>$RSvyYRaNB@DQ#EYUV+a zeWN}`AE2G_vLscm3Bu!#vBy9EXM#Vk_I@Azx+q}y0`5O?qcb*|e-A2v+Jn@C+K1E! zPy2vAtOHnjpaZxCxB)m%C!i$bS!IzGQyudHU-XNjmx~R zY*z5Kv$)A?wxym90i_MShe(i@C-p?T@nLt;>(;cHch-+-{mE4`udX9lu}VriAq8#d6p7F#SN@@ zPaBI@*jc&zKHXgo-01NVA(y`3M#3S9i2SckHTPPhjd5^Fs?-Yb7b$3$KP6|M3d~jH Qhi!d+6vKT9U<=Kufz literal 0 HcmV?d00001 diff --git a/odoo/addons/pos_product_sequence/static/src/js/models.js b/odoo/addons/pos_product_sequence/static/src/js/models.js index 056e6c2..7d6ed27 100644 --- a/odoo/addons/pos_product_sequence/static/src/js/models.js +++ b/odoo/addons/pos_product_sequence/static/src/js/models.js @@ -6,22 +6,49 @@ var core = require('web.core'); var QWeb = core.qweb; var _t = core._t; +var PosDB = require('point_of_sale.DB') var exports = require('point_of_sale.models'); +PosDB.include({ + get_product_by_category: function(category_id){ + var product_ids = this.product_by_category_id[category_id]; + var list = []; + if (product_ids) { + for (var i = 0, len = Math.min(product_ids.length, this.limit); i < len; i++) { + list.push(this.product_by_id[product_ids[i]]); + } + } + if(list.length){ + var new_list = _.sortBy(list, function(num) { + return num.pos_sequence; + }); + return new_list; + } + return list; + }, +}); + models.load_models({ model: 'product.product', - fields: ['display_name', 'list_price', 'standard_price', 'categ_id', 'pos_categ_id', 'taxes_id', + // todo remove list_price in master, it is unused + fields: ['display_name', 'list_price', 'lst_price', 'standard_price', 'categ_id', 'pos_categ_id', 'taxes_id', 'barcode', 'default_code', 'to_weight', 'uom_id', 'description_sale', 'description', - 'product_tmpl_id','tracking'], + 'product_tmpl_id','tracking','pos_sequence'], order: _.map(['pos_sequence','sequence','default_code','name'], function (name) { return {name: name}; }), domain: [['sale_ok','=',true],['available_in_pos','=',true]], context: function(self){ return { display_default_code: false }; }, loaded: function(self, products){ + var using_company_currency = self.config.currency_id[0] === self.company.currency_id[0]; + var conversion_rate = self.currency.rate / self.company_currency.rate; self.db.add_products(_.map(products, function (product) { + if (!using_company_currency) { + product.lst_price = round_pr(product.lst_price * conversion_rate, self.currency.rounding); + } product.categ = _.findWhere(self.product_categories, {'id': product.categ_id[0]}); return new exports.Product({}, product); })); }, }); return exports; + }); \ No newline at end of file