Commit 2d9012a9 by Damien Moulard

[WIP] linting

parent 9f56118c
Pipeline #1058 passed with stage
in 21 seconds
......@@ -42,7 +42,7 @@ function group_goto(group_index) {
// Find order data
for (let order of orders) {
if (order.id == order_groups.groups[group_index][i]) {
order_data = order
order_data = order;
}
}
......@@ -55,7 +55,7 @@ function group_goto(group_index) {
/**
* Create a couchdb document for an order if it doesn't exist
* @param {Object} order_data
* @param {Object} order_data
* @param {Boolean} goto if true, go to order page
*/
function create_order_doc(order_data, go_to_order = false) {
......@@ -63,32 +63,33 @@ function create_order_doc(order_data, go_to_order = false) {
dbc.get(order_doc_id).then(() => {
if (go_to_order === true) {
goto(order_data.id)
goto(order_data.id);
}
})
.catch(function (err) {
.catch(function (err) {
// Create if doesn't exist
if (err.status === 404) {
let order_doc = { ... order_data };
order_doc._id = order_doc_id;
dbc.put(order_doc, (err) => {
if (!err) {
if (go_to_order === true) {
goto(order_data.id)
if (err.status === 404) {
let order_doc = { ...order_data };
order_doc._id = order_doc_id;
dbc.put(order_doc, (err) => {
if (!err) {
if (go_to_order === true) {
goto(order_data.id);
}
} else {
error = {
msg: 'Erreur dans la creation de la commande dans couchdb',
ctx: 'validatePrices',
details: err
};
report_JS_error(error, 'reception');
console.log(error);
}
} else {
error = {
msg: 'Erreur dans la creation de la commande dans couchdb',
ctx: 'validatePrices',
details: err
};
report_JS_error(error, 'reception');
console.log(error);
}
});
}
});
});
}
});
}
/* ACTIONS */
......@@ -96,7 +97,7 @@ function create_order_doc(order_data, go_to_order = false) {
/**
* Validate all prices of an order
*/
function validatePrices() {
function validatePrices() {
// Loading on
openModal();
......@@ -119,15 +120,15 @@ function create_order_doc(order_data, go_to_order = false) {
dbc.get(`order_${order['id']}`).then((doc) => {
return dbc.remove(doc);
})
.then(() => {
callback_update = true;
reload();
})
.catch((err) => {
.then(() => {
callback_update = true;
reload();
})
.catch((err) => {
// No doc found
console.log(err);
reload();
});
console.log(err);
reload();
});
},
error: function() {
closeModal();
......@@ -168,7 +169,7 @@ function create_order_doc(order_data, go_to_order = false) {
/**
* Action fired when orders are grouped (new group)
* @returns
* @returns
*/
function group_action() {
let pswd = prompt('Merci de demander à un.e salarié.e le mot de passe pour fusionner ces commandes.');
......@@ -194,7 +195,7 @@ function group_action() {
if (!err) {
goto(group_ids[0]);
} else {
alert("Une erreur est survenue lors de la création du groupe. Veuillez ré-essayer plus tard svp.")
alert("Une erreur est survenue lors de la création du groupe. Veuillez ré-essayer plus tard svp.");
console.log(err);
}
});
......@@ -210,35 +211,35 @@ function group_action() {
/**
* Display the order groups.
* Remove the grouped orders from the order table to prevent grouping in multiple groups.
* Remove the grouped orders from the order table to prevent grouping in multiple groups.
*/
function display_grouped_orders() {
if (table_orders !== null) {
let groups_display_content = "<ul>";
for (let group_index in order_groups.groups) {
let group_orders = [];
// Extract every order in the groups from the orders table
for (group_order_id of order_groups.groups[group_index]) {
// Look for order in datatable"
for (let i = 0; i < table_orders.rows().data().length; i++) {
if (group_order_id == table_orders.rows(i).data()[0].id) {
var order = table_orders.rows(i).data()[0];
group_orders.push(order);
// remove table row
table_orders.rows(i).remove()
.draw();
}
}
}
// Display group
document.getElementById("container_groups").hidden = false;
let group_row = `<li class="group_line"> Commandes de `;
for (let i in group_orders) {
if (i == group_orders.length-1) { // last element of list
group_row += "<b>" + group_orders[i].partner + "</b> du " + group_orders[i].date_order + " : ";
......@@ -246,7 +247,7 @@ function display_grouped_orders() {
group_row += "<b>" + group_orders[i].partner + "</b> du " + group_orders[i].date_order + ", ";
}
}
if (group_orders[0].reception_status == 'False') {
group_row += "<button class='btn--primary' onClick='group_goto("
+ group_index
......@@ -256,7 +257,7 @@ function display_grouped_orders() {
+ group_index
+ ")'>Mettre à jour les prix</button>";
}
group_row += "</li>";
groups_display_content += group_row;
}
......@@ -311,34 +312,34 @@ function display_orders_table() {
render: function (data) {
switch (data) {
case 'qty_valid':
return "<span class='btn--success'>Mettre à jour les prix</span>";
case 'br_valid':
return "<span class='btn'><i class='far fa-check-circle'></i> Réception OK</span>";
case 'False':
return "<span class='btn--primary'>Compter les produits</span>";
case 'done':
return "<span class='btn'><i class='far fa-check-circle'></i> Terminé</span>";
case 'uprice_valid':
return "<span class='btn--primary'>Mise à jour du prix OK</span>";
case "valid_pending":
return "<span class='btn--info'>En attente de validation</span>";
case 'legacy':
return "<span class='btn--success'>Legacy</span>";
case 'error_pack_op':
return "<span class='btn--danger'>Erreur pack operations</span>";
case 'error_transfer':
return "<span class='btn--danger'>Erreur de transfert</span>";
case 'error_picking':
return "<span class='btn--danger'>Erreur validation quantité</span>";
case '/error_uprice':
return "<span class='btn--danger'>Erreur mise à jour du prix</span>";
default:
return "<span class='btn--warning'>Status inconnu : " + data + "</span>";
case 'qty_valid':
return "<span class='btn--success'>Mettre à jour les prix</span>";
case 'br_valid':
return "<span class='btn'><i class='far fa-check-circle'></i> Réception OK</span>";
case 'False':
return "<span class='btn--primary'>Compter les produits</span>";
case 'done':
return "<span class='btn'><i class='far fa-check-circle'></i> Terminé</span>";
case 'uprice_valid':
return "<span class='btn--primary'>Mise à jour du prix OK</span>";
case "valid_pending":
return "<span class='btn--info'>En attente de validation</span>";
case 'legacy':
return "<span class='btn--success'>Legacy</span>";
case 'error_pack_op':
return "<span class='btn--danger'>Erreur pack operations</span>";
case 'error_transfer':
return "<span class='btn--danger'>Erreur de transfert</span>";
case 'error_picking':
return "<span class='btn--danger'>Erreur validation quantité</span>";
case '/error_uprice':
return "<span class='btn--danger'>Erreur mise à jour du prix</span>";
default:
return "<span class='btn--warning'>Status inconnu : " + data + "</span>";
}
},
width: "20%"
......@@ -436,7 +437,7 @@ $(document).ready(function() {
openModal();
$.ajaxSetup({ headers: { "X-CSRFToken": getCookie('csrftoken') } });
// Init couchdb
// Init couchdb
dbc = new PouchDB(couchdb_dbname),
sync = PouchDB.sync(couchdb_dbname, couchdb_server, {
live: true,
......@@ -445,26 +446,32 @@ $(document).ready(function() {
});
// TODO sync on change : get data, update data & dom
sync.on('change', function (info) {
console.log(info);
}).on('error', function (err) {
console.log(err);
});
// TODO on button click to access order: verif fingerprint & timestamp
// Get or create order groups doc
dbc.get("grouped_orders").then((doc) => {
order_groups = doc;
})
.catch(function (err) {
console.log(err);
if (err.status === 404) {
.catch(function (err) {
console.log(err);
if (err.status === 404) {
// Create if doesn't exist
dbc.put(order_groups, (err, result) => {
if (!err) {
order_groups._rev = result.rev;
} else {
console.log("document pour les groupes déjà créé");
console.log(err);
}
});
}
});
dbc.put(order_groups, (err, result) => {
if (!err) {
order_groups._rev = result.rev;
} else {
console.log("document pour les groupes déjà créé");
console.log(err);
}
});
}
});
// Set date format for DataTable so date ordering can work
$.fn.dataTable.moment('D/M/Y');
......
......@@ -116,13 +116,13 @@ function select_product_from_bc(barcode) {
/**
* Update couchdb order
* @param {int} order_id
* @param {int} order_id
*/
function update_distant_order(order_id) {
// TODO insert fingerprint & timestamp
console.log(order_id);
dbc.put(orders[order_id], (err, result) => {
dbc.put(orders[order_id], (err, result) => {
if (!err && result !== undefined) {
orders[order_id]._rev = result.rev;
} else {
......@@ -348,8 +348,13 @@ function initLists() {
className:"dt-head-center dt-body-center",
visible: (reception_status == "False"),
render: function (data, type, full) {
let disp = [full.product_qty, (full.old_qty !== undefined)?full.old_qty:full.product_qty].join("/");
return disp;
let disp = [
full.product_qty,
(full.old_qty !== undefined)?full.old_qty:full.product_qty
].join("/");
return disp;
},
orderable: false
},
......@@ -414,7 +419,7 @@ function initLists() {
orders[data.id_po]['valid_products'] = [];
}
orders[data.id_po]['valid_products'].push(data['id']);
update_distant_order(data.id_po)
update_distant_order(data.id_po);
// Reset search
document.getElementById('search_input').value = '';
......@@ -1189,9 +1194,9 @@ function send() {
}
// Set order(s) name in popup DOM
if (Object.keys(orders).length === 1) { // Single order
if (Object.keys(orders).length === 1) { // Single order
document.getElementById("order_ref").innerHTML = orders[Object.keys(orders)[0]].name;
} else { // group
} else { // group
document.getElementById("success_order_name_container").hidden = true;
document.getElementById("success_orders_name_container").hidden = false;
......@@ -1306,7 +1311,7 @@ function send() {
traditional: true,
contentType: "application/json; charset=utf-8",
data: JSON.stringify(updates),
success: function(data) {},
success: function() {},
error: function() {
closeModal();
alert('Erreur dans l\'envoi du rapport.');
......@@ -1360,6 +1365,7 @@ function openErrorReport() {
// this is necessary because default behavior is overwritten by the listener defined in jquery.pos.js;
$("#error_report").keypress(function(e) {
var key = e.keyCode;
if (key === 13) {
this.value += "\n";
}
......@@ -1378,7 +1384,7 @@ function saveErrorReport() {
// Save comments in all orders
for (order_id of Object.keys(orders)) {
orders[order_id].user_comments = user_comments;
update_distant_order(order_id)
update_distant_order(order_id);
}
document.getElementById("search_input").focus();
......@@ -1393,8 +1399,8 @@ var get_barcodes = async function() {
/**
* Init the page according to order(s) data (texts, colors, events...)
*
* @param {Array} partners_display_data
*
* @param {Array} partners_display_data
*/
function init_dom(partners_display_data) {
// Grouped orders
......@@ -1580,7 +1586,7 @@ $(document).ready(function() {
let pathArray = window.location.pathname.split('/');
let id = pathArray[pathArray.length-1];
// Init couchdb
// Init couchdb
dbc = new PouchDB(couchdb_dbname),
sync = PouchDB.sync(couchdb_dbname, couchdb_server, {
live: true,
......@@ -1589,6 +1595,12 @@ $(document).ready(function() {
});
// TODO on sync change : redirect (cf order_helper)
sync.on('change', function (info) {
console.log(info);
}).on('error', function (err) {
console.log(err);
});
// TODO insert fingerprint & timestamp on access to order
// Disable alert errors from datatables
......@@ -1653,7 +1665,8 @@ $(document).ready(function() {
/* Get order info from couchdb */
// Get order groups
let order_groups = []
let order_groups = [];
dbc.get("grouped_orders").then((doc) => {
order_groups = doc.groups;
......@@ -1678,8 +1691,9 @@ $(document).ready(function() {
}).then(function (result) {
// for each order in the group
for (let order_id of group_ids) {
// find order
// find order
let order = result.rows.find(el => el.id == 'order_' + order_id);
order = order.doc;
orders[order_id] = order;
......@@ -1708,9 +1722,22 @@ $(document).ready(function() {
init_dom(partners_display_data);
})
.catch(function (e) {
let msg = ('message' in e && 'name' in e) ? e.name + ' : ' + e.message : '';
err = {msg, ctx: 'page init - get orders from couchdb', details: e};
console.error(err);
report_JS_error(err, 'reception');
// Should be there, redirect
alert("Erreur au chargement de cette commande. Vous allez être redirigé.");
back();
});
})
.catch(function (e) {
let msg = ('message' in e && 'name' in e) ? e.name + ' : ' + e.message : '';
err = {msg, ctx: 'page init - get orders from couchdb', details: e};
err = {msg, ctx: 'page init - get grouped orders', details: e};
console.error(err);
report_JS_error(err, 'reception');
......@@ -1718,15 +1745,4 @@ $(document).ready(function() {
alert("Erreur au chargement de cette commande. Vous allez être redirigé.");
back();
});
})
.catch(function (e) {
let msg = ('message' in e && 'name' in e) ? e.name + ' : ' + e.message : '';
err = {msg, ctx: 'page init - get grouped orders', details: e};
console.error(err);
report_JS_error(err, 'reception');
// Should be there, redirect
alert("Erreur au chargement de cette commande. Vous allez être redirigé.");
back();
});
});
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