diff options
Diffstat (limited to 'addons/barcodes/static/src/js/barcode_parser.js')
| -rw-r--r-- | addons/barcodes/static/src/js/barcode_parser.js | 31 |
1 files changed, 18 insertions, 13 deletions
diff --git a/addons/barcodes/static/src/js/barcode_parser.js b/addons/barcodes/static/src/js/barcode_parser.js index 1f804a40fea..926d8a11c82 100644 --- a/addons/barcodes/static/src/js/barcode_parser.js +++ b/addons/barcodes/static/src/js/barcode_parser.js @@ -1,8 +1,9 @@ odoo.define('barcodes.BarcodeParser', function (require) { "use strict"; +var ajax = require('web.ajax'); var Class = require('web.Class'); -var Model = require('web.DataModel'); +var rpc = require('web.rpc'); // The BarcodeParser is used to detect what is the category // of a barcode (product, partner, ...) and extract an encoded value @@ -18,19 +19,23 @@ var BarcodeParser = Class.extend({ // only when those data have been loaded load: function(){ var self = this; - return new Model('barcode.nomenclature') - .query(['name','rule_ids','upc_ean_conv']) - .filter([['id','=',this.nomenclature_id[0]]]) - .first() - .then(function(nomenclature){ - self.nomenclature = nomenclature; - - return new Model('barcode.rule') - .query(['name','sequence','type','encoding','pattern','alias']) - .filter([['barcode_nomenclature_id','=',self.nomenclature.id ]]) - .all(); + var id = this.nomenclature_id[0]; + rpc.query({model: 'barcode.nomenclature', method: 'read'}) + .args([[id], ['name','rule_ids','upc_ean_conv']]) + .exec({callback: ajax.rpc.bind(ajax)}) + .then(function (nomenclatures){ + self.nomenclature = nomenclatures[0]; + + var args = [ + [['barcode_nomenclature_id', '=', self.nomenclature.id]], + ['name', 'sequence', 'type', 'encoding', 'pattern', 'alias'], + ]; + return rpc + .query({model: 'barcode.rule', method: 'search_read'}) + .args(args) + .exec({callback: ajax.rpc.bind(ajax)}); }).then(function(rules){ - rules = rules.sort(function(a,b){ return a.sequence - b.sequence; }); + rules = rules.records.sort(function(a, b){ return a.sequence - b.sequence; }); self.nomenclature.rules = rules; }); }, |
