Commit 0c9150b6 by Damien Moulard

REC: dont display add produt input when no products to add

parent 1bc514ce
...@@ -215,6 +215,11 @@ tr.odd td.row_product_no_qty { ...@@ -215,6 +215,11 @@ tr.odd td.row_product_no_qty {
display: none; display: none;
} }
.no_products_to_add_area {
margin: 2rem 0;
/* display: none; */
}
.search_products_to_add_area { .search_products_to_add_area {
margin: 2rem 0; margin: 2rem 0;
display: flex; display: flex;
......
...@@ -411,6 +411,11 @@ function fetch_suppliers_products() { ...@@ -411,6 +411,11 @@ function fetch_suppliers_products() {
contentType: "application/json; charset=utf-8", contentType: "application/json; charset=utf-8",
success: function(data) { success: function(data) {
suppliers_products = data.res.products; suppliers_products = data.res.products;
// Filter supplier products on products already in orders
suppliers_products = suppliers_products.filter(p => list_to_process.findIndex(ptp => ptp.product_id[1] === p.name) === -1);
suppliers_products = suppliers_products.filter(p => list_processed.findIndex(pp => pp.product_id[1] === p.name) === -1);
closeModal(); closeModal();
set_add_products_modal(); set_add_products_modal();
}, },
...@@ -1814,7 +1819,7 @@ function add_products_action() { ...@@ -1814,7 +1819,7 @@ function add_products_action() {
} }
} }
if (qty_inputs.length > 0 && has_empty_qty_input === false) { if (products_to_add.length > 0 && qty_inputs.length > 0 && has_empty_qty_input === false) {
create_orders(); create_orders();
} }
} }
...@@ -2040,14 +2045,8 @@ function openErrorReport() { ...@@ -2040,14 +2045,8 @@ function openErrorReport() {
* Filter autocomplete data by removing products already selected. * Filter autocomplete data by removing products already selected.
*/ */
function set_products_autocomplete() { function set_products_autocomplete() {
// Filter autocomplete products on products already in orders
let autocomplete_products = suppliers_products.filter(p => list_to_process.findIndex(ptp => ptp.product_id[1] === p.name) === -1);
autocomplete_products = autocomplete_products.filter(p => list_processed.findIndex(pp => pp.product_id[1] === p.name) === -1);
console.log(products_to_add);
// Filter autocomplete products on products already selected // Filter autocomplete products on products already selected
autocomplete_products = autocomplete_products.filter(p => products_to_add.findIndex(pta => pta.name === p.name) === -1); let autocomplete_products = autocomplete_products.filter(p => products_to_add.findIndex(pta => pta.name === p.name) === -1);
try { try {
$("#modal .search_product_input").autocomplete("destroy"); $("#modal .search_product_input").autocomplete("destroy");
...@@ -2108,9 +2107,19 @@ function remove_product_line(e) { ...@@ -2108,9 +2107,19 @@ function remove_product_line(e) {
} }
/** /**
* Set & display the modal to search products * Set & display the modal to search products.
* If no products to add, display the according modal.
*/ */
function set_add_products_modal() { function set_add_products_modal() {
if (suppliers_products.length === 0) {
let modal_no_product_to_add = $("#modal_no_product_to_add");
openModal(
modal_no_product_to_add.html(),
() => {},
'OK'
);
} else {
let add_products_modal = $("#modal_add_products"); let add_products_modal = $("#modal_add_products");
openModal( openModal(
...@@ -2121,8 +2130,10 @@ function set_add_products_modal() { ...@@ -2121,8 +2130,10 @@ function set_add_products_modal() {
); );
set_products_autocomplete(); set_products_autocomplete();
}
} }
/** /**
* Init the page according to order(s) data (texts, colors, events...) * Init the page according to order(s) data (texts, colors, events...)
* *
......
...@@ -208,6 +208,13 @@ ...@@ -208,6 +208,13 @@
</div> </div>
<hr /> <hr />
</div> </div>
<div id="modal_no_product_to_add">
<h3>Ajouter des produits à la commande</h3>
<div class="no_products_to_add_area">
Aucun produit à ajouter : tous les produits de ce(s) fournisseur(s) sont déjà dans la commande.
</div>
<hr />
</div>
<div id="add_product_line_template"> <div id="add_product_line_template">
<div class="add_product_line"> <div class="add_product_line">
<div class="product_name add_product_line_item"></div> <div class="product_name add_product_line_item"></div>
......
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