Commit ed59d017 by Damien Moulard

ALC: deal with 403 server response

parent 707b2289
Pipeline #2293 passed with stage
in 1 minute 24 seconds
......@@ -253,8 +253,11 @@
.main.fa-info-circle {
color: #0275d8;
}
#coverage_form .fa-info-circle {
cursor: pointer;
}
.custom_cell_content {
display: flex;
flex-direction: column;
......
......@@ -133,6 +133,14 @@ function debounceFunction(func, delay = 1000) {
timerId = setTimeout(func, delay);
}
/**
* When 403 response is received from the server, logout user locally.
*/
function handle_unauthorize() {
alert("La session a expiré. Vous allez devoir vous reconnecter.");
$( "#logout" ).trigger( "click" );
}
/* - PRODUCTS */
var process_new_product_qty = function(input) {
......@@ -253,6 +261,9 @@ function add_product() {
$("#product_input").val('');
},
error: function(data) {
if (data.status === 403) {
handle_unauthorize();
} else {
err = {msg: "erreur serveur lors de la récupération des données liées à l'article", ctx: 'get_product_for_help_order_line'};
if (typeof data.responseJSON != 'undefined' && typeof data.responseJSON.error != 'undefined') {
err.msg += ' : ' + data.responseJSON.error;
......@@ -260,6 +271,7 @@ function add_product() {
report_JS_error(err, 'orders');
alert('Erreur lors de la récupération des informations, réessayer plus tard.');
}
}
});
return 0;
......@@ -470,6 +482,9 @@ function check_products_data() {
resolve();
},
error: function(data) {
if (data.status === 403) {
handle_unauthorize();
} else {
err = {msg: "erreur serveur lors de la vérification des données des articles", ctx: 'check_products_data'};
if (typeof data.responseJSON != 'undefined' && typeof data.responseJSON.error != 'undefined') {
err.msg += ' : ' + data.responseJSON.error;
......@@ -481,6 +496,7 @@ function check_products_data() {
// Don't block process if this call fails
resolve();
}
}
});
} else {
resolve();
......@@ -539,6 +555,9 @@ function update_product_ref(input_el, p_id, p_index) {
);
},
error: function(data) {
if (data.status === 403) {
handle_unauthorize();
} else {
let msg = "erreur serveur lors de la sauvegarde de la référence";
msg += ` (product_tmpl_id: ${product.id}`;
......@@ -551,6 +570,7 @@ function update_product_ref(input_el, p_id, p_index) {
alert('Erreur lors de la sauvegarde de la référence dans Odoo. Veuillez recharger la page et ré-essayer plus tard.');
}
}
});
}
}
......@@ -609,6 +629,9 @@ function add_supplier() {
closeModal();
},
error: function(data) {
if (data.status === 403) {
handle_unauthorize();
} else {
err = {msg: "erreur serveur lors de la récupération des produits", ctx: 'get_supplier_products'};
if (typeof data.responseJSON != 'undefined' && typeof data.responseJSON.error != 'undefined') {
err.msg += ' : ' + data.responseJSON.error;
......@@ -618,6 +641,7 @@ function add_supplier() {
closeModal();
alert('Erreur lors de la récupération des produits, réessayer plus tard.');
}
}
});
return 0;
......@@ -713,6 +737,9 @@ function save_supplier_product_association(product, supplier, cell) {
closeModal();
},
error: function(data) {
if (data.status === 403) {
handle_unauthorize();
} else {
let msg = "erreur serveur lors de la sauvegarde de l'association product/supplier";
msg += ` (product_tmpl_id: ${product.id}; supplier_id: ${supplier.id})`;
......@@ -726,6 +753,7 @@ function save_supplier_product_association(product, supplier, cell) {
closeModal();
alert('Erreur lors de la sauvegarde de l\'association. Veuillez ré-essayer plus tard.');
}
}
});
return 0;
......@@ -767,6 +795,9 @@ function end_supplier_product_association(product, supplier) {
closeModal();
},
error: function(data) {
if (data.status === 403) {
handle_unauthorize();
} else {
let msg = "erreur serveur lors de la suppression de l'association product/supplier".
msg += ` (product_tmpl_id: ${product.id}; supplier_id: ${supplier.id})`;
......@@ -779,6 +810,7 @@ function end_supplier_product_association(product, supplier) {
closeModal();
alert('Erreur lors de la suppression de l\'association. Veuillez ré-essayer plus tard.');
}
}
});
return 0;
......@@ -943,6 +975,9 @@ function commit_actions_on_product(product, inputs) {
});
},
error: function(data) {
if (data.status === 403) {
handle_unauthorize();
} else {
let msg = "erreur serveur lors de la sauvegarde".
msg += ` (product_tmpl_id: ${product.id})`;
......@@ -971,6 +1006,7 @@ function commit_actions_on_product(product, inputs) {
closeModal();
});
}
}
});
}
......@@ -1038,6 +1074,9 @@ function generate_inventory() {
}, 200);
},
error: function(data) {
if (data.status === 403) {
handle_unauthorize();
} else {
$('#do_inventory').empty()
.append(`Faire un inventaire`);
let msg = "erreur serveur lors de la création de l'inventaire".
......@@ -1050,6 +1089,7 @@ function generate_inventory() {
alert("Erreur lors de la création de l'inventaire. Réessayez plus tard.");
}
}
});
}
},
......@@ -1318,6 +1358,9 @@ function create_orders() {
});
},
error: function(data) {
if (data.status === 403) {
handle_unauthorize();
} else {
let msg = "erreur serveur lors de la création des product orders";
err = {msg: msg, ctx: 'save_supplier_product_association', data: orders_data};
......@@ -1329,6 +1372,7 @@ function create_orders() {
closeModal();
alert('Erreur lors de la création des commandes. Veuillez ré-essayer plus tard.');
}
}
});
return 0;
......@@ -2774,6 +2818,9 @@ $(document).ready(function() {
});
},
error: function(data) {
if (data.status === 403) {
handle_unauthorize();
} else {
err = {msg: "erreur serveur lors de la récupération des fournisseurs", ctx: 'get_suppliers'};
if (typeof data.responseJSON != 'undefined' && typeof data.responseJSON.error != 'undefined') {
err.msg += ' : ' + data.responseJSON.error;
......@@ -2783,6 +2830,7 @@ $(document).ready(function() {
closeModal();
alert('Erreur lors de la récupération des fournisseurs, rechargez la page plus tard');
}
}
});
//Get products
......
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