Commit 1f4f45bf by Yvon Kerdoncuff

Merge branch '4019-popup-for-product-weight' into 'dev_cooperatic'

pos: popup for product weight at selection

See merge request !52
parents 8d91c877 6fd52f46
......@@ -6,16 +6,17 @@
Adaptation pour corriger des fonctions""",
'description': """
Recherche par num. de coop\n
(la recherche inclut le code barre ou non,\n
> Recherche par num. de coop\n
(la recherche inclut le code barre ou non,
le réglage se fait avec la clé lacagette_custom_pos.reduce_pos_members_search)\n
Après une recherche, le champ perd le focus\n
Utilisation du pavé numérique du clavier sur le panier\n
Personnalisation de la popup d'erreur "codebarre non reconnu" :\n
> Utilisation du pavé numérique du clavier sur le panier\n
> Personnalisation de la popup d'erreur "codebarre non reconnu" :\n
- Faire clignoter la popup d'erreur quand le codebarre n'est pas reconnu
- Jouer le son d'erreur plusieurs fois
- [FONCTION DÉSACTIVÉE] Afficher dans la popup le dernier produit scanné\n
Bloquer ou non la fermeture d'une session de caisse s'il reste une commande en cours (configurable pour chaque caisse)
> Bloquer ou non la fermeture d'une session de caisse s'il reste une commande en cours (configurable pour chaque caisse)\n
> Afficher une popup pour saisir le poids d'un produit au poids lorsqu'il est sélectionné
""",
'author': "fracolo",
......
......@@ -221,4 +221,44 @@ odoo.define("lacagette_custom_pos.screens", function (require) {
}
},
});
screens.ProductScreenWidget.include({
click_product: function(product) {
if (product.to_weight && this.pos.config.iface_electronic_scale) {
this.gui.show_screen('scale',{product: product});
} else if (product.to_weight) {
// Unselect order line, to disable number key handler (adds to product qty in list)
this.pos.get_order().deselect_orderline();
this.gui.show_popup("textinput", {
'title': _t("Produit au poids"),
'body': _t("Veuillez saisir le poids du produit."),
confirm: function(value) {
let weight = parseFloat(value.replace(',', '.'));
if (!isNaN(weight)) {
this.pos.get_order().add_product(product,{ quantity: weight });
// Select last order line
this.pos.get_order().select_orderline(this.pos.get_order().get_last_orderline());
} else {
this.gui.show_popup("alert", {
'title': _t("Poids non valide"),
'body': _t("Le poids rentré n'est pas un nombre, opération abandonnée."),
cancel: function(value) {
// Reselect last order line
this.pos.get_order().select_orderline(this.pos.get_order().get_last_orderline());
}
});
}
},
cancel: function(vaue) {
// Reselect last order line
this.pos.get_order().select_orderline(this.pos.get_order().get_last_orderline());
},
});
} else {
this.pos.get_order().add_product(product);
}
}
});
});
......@@ -20,7 +20,7 @@ ofxparse==0.14
passlib==1.6.2
psutil==2.2.0
psycogreen==1.0
psycopg2==2.7.1
psycopg2==2.7.3.2
pyPdf==1.13
pydot==1.0.2
pyparsing==2.0.3
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment