1
0
Fork 0
This repository has been archived on 2022-08-09. You can view files and clone it, but cannot push or open issues or pull requests.
odoo-pos-distribution/odoo/addons/pos_product_sequence/static/src/js/models.js

54 lines
2.2 KiB
JavaScript

odoo.define('pos_product_sequence.models', function (require) {
"use strict";
var models = require('point_of_sale.models');
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',
// 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','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;
});