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.
81 lines
2.7 KiB
81 lines
2.7 KiB
// © 2020 Le Filament (<http://www.le-filament.com>)
|
|
// License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
|
|
|
|
odoo.define('vracoop_pos_free_balance_V2.devices', function (require) {
|
|
"use strict";
|
|
|
|
var devices = require('point_of_sale.devices');
|
|
|
|
devices.ProxyDevice.include({
|
|
reset_weight: function () {
|
|
var ret = new $.Deferred();
|
|
this.message('reset_weight').then(function (status) {
|
|
ret.resolve(status)
|
|
}, function () {
|
|
ret.resolve({weight: 0.0, price: 0.0, unit: 'kg', info: 'ko'})
|
|
});
|
|
return ret;
|
|
},
|
|
|
|
reset_tare: function () {
|
|
var price = '001000'; // bizerba doesn't accept '000000' as unit price
|
|
var ret = new $.Deferred();
|
|
this.message('scale_price', {price: price}).then(function (weight) {
|
|
ret.resolve(weight);
|
|
}, function () {
|
|
ret.resolve({weight: 0.0, price: 0.0, unit: 'kg', info: 'ko'})
|
|
});
|
|
return ret;
|
|
},
|
|
|
|
scale_read_data_price: function (price) {
|
|
var self = this;
|
|
var ret = new $.Deferred();
|
|
if (self.use_debug_weight) {
|
|
return (new $.Deferred()).resolve({
|
|
weight: this.debug_weight,
|
|
price: this.debug_price,
|
|
unit: 'kg',
|
|
info: 'ok'
|
|
});
|
|
}
|
|
this.message('scale_price', {price: price})
|
|
.then(function (weight) {
|
|
ret.resolve(weight);
|
|
}, function () {
|
|
ret.resolve({weight: 0.0, price: 0.0, unit: 'kg', info: 'ko'});
|
|
});
|
|
return ret;
|
|
},
|
|
|
|
scale_read_data_price_tare: function (price, tare) {
|
|
var self = this;
|
|
var ret = new $.Deferred();
|
|
if (self.use_debug_weight) {
|
|
return (new $.Deferred()).resolve({
|
|
weight: this.debug_weight,
|
|
price: this.debug_price,
|
|
unit: 'kg',
|
|
info: 'ok'
|
|
});
|
|
}
|
|
this.message('scale_price_tare', {price: price, tare: tare})
|
|
.then(function (weight) {
|
|
ret.resolve(weight);
|
|
}, function () {
|
|
ret.resolve({weight: 0.0, price: 0.0, unit: 'kg', info: 'ko'});
|
|
});
|
|
return ret;
|
|
},
|
|
|
|
debug_set_weight: function (kg) {
|
|
this._super(kg);
|
|
this.debug_price = NaN;
|
|
},
|
|
|
|
debug_reset_weight: function () {
|
|
this._super();
|
|
this.debug_price = 0.0;
|
|
},
|
|
});
|
|
});
|