summaryrefslogtreecommitdiff
path: root/addons/barcodes/static/src/js/barcode_parser.js
diff options
context:
space:
mode:
Diffstat (limited to 'addons/barcodes/static/src/js/barcode_parser.js')
-rw-r--r--addons/barcodes/static/src/js/barcode_parser.js31
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;
});
},