Browse Source

Fix pylint/flake.

pull/501/head
François Kawala 4 years ago
parent
commit
18853ec44a
  1. 2
      pos_tare/__init__.py
  2. 6
      pos_tare/models/__init__.py
  3. 60
      pos_tare/static/src/js/models.js
  4. 94
      pos_tare/static/src/js/screens.js

2
pos_tare/__init__.py

@ -1 +1 @@
from . import models
from . import models # noqa: F401

6
pos_tare/models/__init__.py

@ -1,3 +1,3 @@
from . import pos_config
from . import pos_order_line
from . import barcode_rule
from . import pos_config # noqa: F401
from . import pos_order_line # noqa: F401
from . import barcode_rule # noqa: F401

60
pos_tare/static/src/js/models.js

@ -8,29 +8,27 @@ odoo.define('pos_tare.models', function (require) {
var _t = core._t;
class ValidationError extends Error {
constructor(message, gui) {
super(message); // (1)
this.name = "ValidationError"; // (2)
this.gui = gui;
}
constructor(message, gui) {
super(message); // (1)
this.name = "ValidationError"; // (2)
this.gui = gui;
}
}
var _NumpadState_ = models.NumpadState.prototype;
var NumpadState = models.NumpadState.extend({
appendNewChar: function(newChar) {
try {
_NumpadState_.appendNewChar.call(this, newChar);
} catch (error) {
if (error instanceof ValidationError) {
var title = _t("We can not apply this numpad action");
var popup = {title: title, body: error.message};
error.gui.show_popup('error', popup);
_NumpadState_.deleteLastChar.call(this);
_NumpadState_: models.NumpadState.prototype;
appendNewChar: function (newChar) {
try {
_NumpadState_.appendNewChar.call(this, newChar);
} catch (error) {
if (error instanceof ValidationError) {
var title = _t("Error while applying the numpad action");
var popup = {title: title, body: error.message};
error.gui.show_popup('error', popup);
_NumpadState_.deleteLastChar.call(this);
}
}
}
},
},
});
var _super_ = models.Orderline.prototype;
@ -85,19 +83,23 @@ odoo.define('pos_tare.models', function (require) {
// We convert the tare that is always measured in the same UoM into
// the unit of measure for this order line.
var tare_unit = this.pos.units_by_id[this.pos.config.iface_tare_uom_id[0]];
var tare_uom = this.pos.config.iface_tare_uom_id[0];
var tare_unit = this.pos.units_by_id[tare_uom];
var tare = parseFloat(quantity) || 0;
var line_unit = this.get_unit();
var tare_in_product_uom = pos_tare_tools.convert_mass(tare, tare_unit, line_unit);
var tare_in_product_uom_string = pos_tare_tools.format_tare(this.pos,
tare_in_product_uom, line_unit);
var tare_in_product_uom = pos_tare_tools.convert_mass(
tare, tare_unit, line_unit);
var tare_in_product_uom_string = pos_tare_tools.format_tare(
this.pos, tare_in_product_uom, line_unit);
if (update_net_weight) {
var net_quantity = this.get_quantity() - tare_in_product_uom;
// This method fails when the net weight is negative.
if (net_quantity <= 0) {
throw new ValidationError(_.str.sprintf(
_t("The tare weight is %s %s, it's greater or equal to " +
"the product weight %s. We can not apply this tare."),
_t("The tare weight is %s %s, it's greater or equal" +
" to the gross weight %s. To apply this tare would" +
" result in a negative net weight and a negative" +
" price. This tare can not be applied to this item."),
tare_in_product_uom_string, line_unit.name,
this.get_quantity_str_with_unit()), this.pos.gui);
}
@ -127,7 +129,7 @@ odoo.define('pos_tare.models', function (require) {
var tare_str = pos_tare_tools.format_tare(
this.pos,
this.tare,
this.get_unit(),
this.get_unit()
);
return tare_str + ' ' + unit.name;
},
@ -137,7 +139,7 @@ odoo.define('pos_tare.models', function (require) {
var gross_weight_str = pos_tare_tools.format_tare(
this.pos,
this.get_gross_weight(),
this.get_unit(),
this.get_unit()
);
return gross_weight_str + ' ' + unit.name;
},
@ -145,7 +147,7 @@ odoo.define('pos_tare.models', function (require) {
});
models.NumpadState = NumpadState
models.Orderline = OrderLineWithTare;;
models.NumpadState = NumpadState;
models.Orderline = OrderLineWithTare;
});

94
pos_tare/static/src/js/screens.js

@ -11,30 +11,29 @@ odoo.define('pos_tare.screens', function (require) {
// This configures read action for tare barcode. A tare barcode contains a
// fake product ID and the weight to be subtracted from the product in the
// latest order line.
screens.ScreenWidget.include(
{
barcode_tare_action: function (code) {
try {
var order = this.pos.get_order();
var selected_order_line = order.get_selected_orderline();
var tare_weight = code.value;
selected_order_line.set_tare(tare_weight, true);
} catch (error) {
var title = _t("We can not apply this tare barcode.");
var popup = {title: title, body: error.message};
this.gui.show_popup('error', popup);
}
},
// Setup the callback action for the "weight" barcodes.
show: function () {
this._super();
if (this.pos.config.iface_tare_method !== 'manual') {
this.pos.barcode_reader.set_action_callback(
'tare',
_.bind(this.barcode_tare_action, this));
}
},
});
screens.ScreenWidget.include({
barcode_tare_action: function (code) {
try {
var order = this.pos.get_order();
var selected_order_line = order.get_selected_orderline();
var tare_weight = code.value;
selected_order_line.set_tare(tare_weight, true);
} catch (error) {
var title = _t("We can not apply this tare barcode.");
var popup = {title: title, body: error.message};
this.gui.show_popup('error', popup);
}
},
// Setup the callback action for the "weight" barcodes.
show: function () {
this._super();
if (this.pos.config.iface_tare_method !== 'manual') {
this.pos.barcode_reader.set_action_callback(
'tare',
_.bind(this.barcode_tare_action, this));
}
},
});
screens.ScaleScreenWidget.include({
@ -55,7 +54,7 @@ odoo.define('pos_tare.screens', function (require) {
});
if (this.pos.config.iface_gross_weight_method === 'scale') {
this.$('#input_weight_tare').focus();
} else{
} else {
this.pos.proxy_queue.clear();
this.$('#input_gross_weight').focus();
}
@ -134,35 +133,32 @@ odoo.define('pos_tare.screens', function (require) {
});
screens.OrderWidget.include(
{
set_value: function(val) {
var order = this.pos.get_order();
if (order.get_selected_orderline()) {
screens.OrderWidget.include({
set_value: function (val) {
var order = this.pos.get_order();
if (order.get_selected_orderline()) {
var mode = this.numpad_state.get('mode');
if( mode === 'quantity'){
if (mode === 'quantity') {
order.get_selected_orderline().set_quantity(val);
}else if( mode === 'discount'){
} else if (mode === 'discount') {
order.get_selected_orderline().set_discount(val);
}else if( mode === 'price'){
} else if (mode === 'price') {
var selected_orderline = order.get_selected_orderline();
selected_orderline.price_manually_set = true;
selected_orderline.set_unit_price(val);
}else if( mode === 'tare'){
if (this.pos.config.iface_tare_method !== 'barcode') {
order.get_selected_orderline().set_tare(val, true);
} else {
this.gui.show_popup('error', {
'title': _t('Incorrect Tare Value'),
'body': _t('You can not set the tare' +
' manually. To be able to set the tare manually' +
' you have to change the tare input method' +
' in the POS configuration.'),
});
}
} else if (mode === 'tare') {
if (this.pos.config.iface_tare_method === 'barcode') {
this.gui.show_popup('error',
{'title': _t('Incorrect Tare Value'),
'body': _t('You can not set the tare.' +
' To be able to set the tare manually' +
' you have to change the tare input method' +
' in the POS configuration.')});
} else {
order.get_selected_orderline().set_tare(val, true);
}
}
}
},});
}
},
});
});
Loading…
Cancel
Save