You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
PackageHelper/www/assets/js/toolbox_sharelist.js

101 lines
3.4 KiB
JavaScript

/*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*/
function uploadList() {
if (packages.length == 0) {
app.dialog.alert("Your list doesn't have anything to send.", "Empty List");
return;
}
app.dialog.preloader("Uploading...");
var uploadlistdialogopen = true;
$.ajax({
url: SETTINGS.sharelistapi,
dataType: 'json',
method: 'post',
data: {
packages: JSON.stringify(packages)
},
timeout: 15 * 1000,
success: function (resp) {
if (uploadlistdialogopen) {
app.dialog.close();
uploadlistdialogopen = false;
}
if (resp.status == "OK") {
JsBarcode("#listidbarcode", resp.uuid, {
format: "code128",
ean128: false,
width: 2,
height: 40
});
$("#listidbarcodeli").css("display", "");
} else {
app.dialog.alert(resp.message, "Error");
}
},
error: function (jqXHR, status, errorThrown) {
if (uploadlistdialogopen) {
app.dialog.close();
uploadlistdialogopen = false;
}
app.dialog.alert("There was a network or server issue while uploading the list. Please try again.", "Error");
}
});
}
function downloadItemList(code) {
if (typeof code == "undefined") {
code = $("#getlistidbox").val();
}
if (code.match(/^[a-f0-9]{10}$/i)) {
app.dialog.preloader("Downloading...");
var downloadlistdialogopen = true;
$.ajax({
url: SETTINGS.sharelistapi,
dataType: 'json',
method: 'get',
data: {
uuid: code
},
timeout: 15 * 1000,
success: function (resp) {
if (downloadlistdialogopen) {
app.dialog.close();
downloadlistdialogopen = false;
}
if (resp.status == "OK") {
var skipped = importPackageList(resp.packages);
if (skipped > 0) {
app.dialog.alert("List imported and merged with the existing one. " + skipped + " items already existed locally and were skipped. Verify their delivery status manually.", "Import Complete");
} else {
app.dialog.alert("List imported and merged with the existing one.", "Import Complete");
}
} else {
app.dialog.alert(resp.message, "Error");
}
},
error: function (jqXHR, status, errorThrown) {
if (downloadlistdialogopen) {
app.dialog.close();
downloadlistdialogopen = false;
}
app.dialog.alert("There was a network or server issue while downloading the list. Please try again.", "Error");
}
});
} else {
app.dialog.alert("That's not a valid list ID.", "Error");
}
}
function scanListIDBarcode() {
scanBarcode(function (code) {
playSound("scan");
downloadItemList(code);
}, function (error) {
app.dialog.alert(error, "Error");
});
}