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 @@ ...@@ -253,8 +253,11 @@
.main.fa-info-circle { .main.fa-info-circle {
color: #0275d8; color: #0275d8;
}
#coverage_form .fa-info-circle {
cursor: pointer; cursor: pointer;
} }
.custom_cell_content { .custom_cell_content {
display: flex; display: flex;
flex-direction: column; flex-direction: column;
......
...@@ -133,6 +133,14 @@ function debounceFunction(func, delay = 1000) { ...@@ -133,6 +133,14 @@ function debounceFunction(func, delay = 1000) {
timerId = setTimeout(func, delay); 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 */ /* - PRODUCTS */
var process_new_product_qty = function(input) { var process_new_product_qty = function(input) {
...@@ -253,6 +261,9 @@ function add_product() { ...@@ -253,6 +261,9 @@ function add_product() {
$("#product_input").val(''); $("#product_input").val('');
}, },
error: function(data) { 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'}; 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') { if (typeof data.responseJSON != 'undefined' && typeof data.responseJSON.error != 'undefined') {
err.msg += ' : ' + data.responseJSON.error; err.msg += ' : ' + data.responseJSON.error;
...@@ -260,6 +271,7 @@ function add_product() { ...@@ -260,6 +271,7 @@ function add_product() {
report_JS_error(err, 'orders'); report_JS_error(err, 'orders');
alert('Erreur lors de la récupération des informations, réessayer plus tard.'); alert('Erreur lors de la récupération des informations, réessayer plus tard.');
} }
}
}); });
return 0; return 0;
...@@ -470,6 +482,9 @@ function check_products_data() { ...@@ -470,6 +482,9 @@ function check_products_data() {
resolve(); resolve();
}, },
error: function(data) { 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'}; 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') { if (typeof data.responseJSON != 'undefined' && typeof data.responseJSON.error != 'undefined') {
err.msg += ' : ' + data.responseJSON.error; err.msg += ' : ' + data.responseJSON.error;
...@@ -481,6 +496,7 @@ function check_products_data() { ...@@ -481,6 +496,7 @@ function check_products_data() {
// Don't block process if this call fails // Don't block process if this call fails
resolve(); resolve();
} }
}
}); });
} else { } else {
resolve(); resolve();
...@@ -539,6 +555,9 @@ function update_product_ref(input_el, p_id, p_index) { ...@@ -539,6 +555,9 @@ function update_product_ref(input_el, p_id, p_index) {
); );
}, },
error: function(data) { error: function(data) {
if (data.status === 403) {
handle_unauthorize();
} else {
let msg = "erreur serveur lors de la sauvegarde de la référence"; let msg = "erreur serveur lors de la sauvegarde de la référence";
msg += ` (product_tmpl_id: ${product.id}`; msg += ` (product_tmpl_id: ${product.id}`;
...@@ -551,6 +570,7 @@ function update_product_ref(input_el, p_id, p_index) { ...@@ -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.'); 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() { ...@@ -609,6 +629,9 @@ function add_supplier() {
closeModal(); closeModal();
}, },
error: function(data) { 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'}; 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') { if (typeof data.responseJSON != 'undefined' && typeof data.responseJSON.error != 'undefined') {
err.msg += ' : ' + data.responseJSON.error; err.msg += ' : ' + data.responseJSON.error;
...@@ -618,6 +641,7 @@ function add_supplier() { ...@@ -618,6 +641,7 @@ function add_supplier() {
closeModal(); closeModal();
alert('Erreur lors de la récupération des produits, réessayer plus tard.'); alert('Erreur lors de la récupération des produits, réessayer plus tard.');
} }
}
}); });
return 0; return 0;
...@@ -713,6 +737,9 @@ function save_supplier_product_association(product, supplier, cell) { ...@@ -713,6 +737,9 @@ function save_supplier_product_association(product, supplier, cell) {
closeModal(); closeModal();
}, },
error: function(data) { error: function(data) {
if (data.status === 403) {
handle_unauthorize();
} else {
let msg = "erreur serveur lors de la sauvegarde de l'association product/supplier"; let msg = "erreur serveur lors de la sauvegarde de l'association product/supplier";
msg += ` (product_tmpl_id: ${product.id}; supplier_id: ${supplier.id})`; msg += ` (product_tmpl_id: ${product.id}; supplier_id: ${supplier.id})`;
...@@ -726,6 +753,7 @@ function save_supplier_product_association(product, supplier, cell) { ...@@ -726,6 +753,7 @@ function save_supplier_product_association(product, supplier, cell) {
closeModal(); closeModal();
alert('Erreur lors de la sauvegarde de l\'association. Veuillez ré-essayer plus tard.'); alert('Erreur lors de la sauvegarde de l\'association. Veuillez ré-essayer plus tard.');
} }
}
}); });
return 0; return 0;
...@@ -767,6 +795,9 @@ function end_supplier_product_association(product, supplier) { ...@@ -767,6 +795,9 @@ function end_supplier_product_association(product, supplier) {
closeModal(); closeModal();
}, },
error: function(data) { error: function(data) {
if (data.status === 403) {
handle_unauthorize();
} else {
let msg = "erreur serveur lors de la suppression de l'association product/supplier". let msg = "erreur serveur lors de la suppression de l'association product/supplier".
msg += ` (product_tmpl_id: ${product.id}; supplier_id: ${supplier.id})`; msg += ` (product_tmpl_id: ${product.id}; supplier_id: ${supplier.id})`;
...@@ -779,6 +810,7 @@ function end_supplier_product_association(product, supplier) { ...@@ -779,6 +810,7 @@ function end_supplier_product_association(product, supplier) {
closeModal(); closeModal();
alert('Erreur lors de la suppression de l\'association. Veuillez ré-essayer plus tard.'); alert('Erreur lors de la suppression de l\'association. Veuillez ré-essayer plus tard.');
} }
}
}); });
return 0; return 0;
...@@ -943,6 +975,9 @@ function commit_actions_on_product(product, inputs) { ...@@ -943,6 +975,9 @@ function commit_actions_on_product(product, inputs) {
}); });
}, },
error: function(data) { error: function(data) {
if (data.status === 403) {
handle_unauthorize();
} else {
let msg = "erreur serveur lors de la sauvegarde". let msg = "erreur serveur lors de la sauvegarde".
msg += ` (product_tmpl_id: ${product.id})`; msg += ` (product_tmpl_id: ${product.id})`;
...@@ -971,6 +1006,7 @@ function commit_actions_on_product(product, inputs) { ...@@ -971,6 +1006,7 @@ function commit_actions_on_product(product, inputs) {
closeModal(); closeModal();
}); });
} }
}
}); });
} }
...@@ -1038,6 +1074,9 @@ function generate_inventory() { ...@@ -1038,6 +1074,9 @@ function generate_inventory() {
}, 200); }, 200);
}, },
error: function(data) { error: function(data) {
if (data.status === 403) {
handle_unauthorize();
} else {
$('#do_inventory').empty() $('#do_inventory').empty()
.append(`Faire un inventaire`); .append(`Faire un inventaire`);
let msg = "erreur serveur lors de la création de l'inventaire". let msg = "erreur serveur lors de la création de l'inventaire".
...@@ -1050,6 +1089,7 @@ function generate_inventory() { ...@@ -1050,6 +1089,7 @@ function generate_inventory() {
alert("Erreur lors de la création de l'inventaire. Réessayez plus tard."); alert("Erreur lors de la création de l'inventaire. Réessayez plus tard.");
} }
}
}); });
} }
}, },
...@@ -1318,6 +1358,9 @@ function create_orders() { ...@@ -1318,6 +1358,9 @@ function create_orders() {
}); });
}, },
error: function(data) { error: function(data) {
if (data.status === 403) {
handle_unauthorize();
} else {
let msg = "erreur serveur lors de la création des product orders"; let msg = "erreur serveur lors de la création des product orders";
err = {msg: msg, ctx: 'save_supplier_product_association', data: orders_data}; err = {msg: msg, ctx: 'save_supplier_product_association', data: orders_data};
...@@ -1329,6 +1372,7 @@ function create_orders() { ...@@ -1329,6 +1372,7 @@ function create_orders() {
closeModal(); closeModal();
alert('Erreur lors de la création des commandes. Veuillez ré-essayer plus tard.'); alert('Erreur lors de la création des commandes. Veuillez ré-essayer plus tard.');
} }
}
}); });
return 0; return 0;
...@@ -2774,6 +2818,9 @@ $(document).ready(function() { ...@@ -2774,6 +2818,9 @@ $(document).ready(function() {
}); });
}, },
error: function(data) { 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'}; 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') { if (typeof data.responseJSON != 'undefined' && typeof data.responseJSON.error != 'undefined') {
err.msg += ' : ' + data.responseJSON.error; err.msg += ' : ' + data.responseJSON.error;
...@@ -2783,6 +2830,7 @@ $(document).ready(function() { ...@@ -2783,6 +2830,7 @@ $(document).ready(function() {
closeModal(); closeModal();
alert('Erreur lors de la récupération des fournisseurs, rechargez la page plus tard'); alert('Erreur lors de la récupération des fournisseurs, rechargez la page plus tard');
} }
}
}); });
//Get products //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