From 63bdb397e7e6eb37cd54f9e78b53336f95935949 Mon Sep 17 00:00:00 2001 From: Jan Felix Wiebe Date: Sun, 15 Jan 2017 15:42:15 +0100 Subject: [PATCH] Added validation for voucher generation field (#373) * Check voucher count input field before generating * changed voucher-bulk-codes-num to numeric type * Added Jan Felix to AUTHORS * replaced alert by validation colors * added another formatting reset ...so that it does not stay red if someone submits something valid --- AUTHORS | 1 + .../pretixcontrol/vouchers/bulk.html | 2 +- src/pretix/static/pretixcontrol/js/ui/main.js | 21 +++++++++++++------ 3 files changed, 17 insertions(+), 7 deletions(-) diff --git a/AUTHORS b/AUTHORS index 33763008b2..5f09b40428 100644 --- a/AUTHORS +++ b/AUTHORS @@ -21,3 +21,4 @@ an awesome project. Thank you all! Tobias Kunze Oliver Knapp Vishal Sodani + Jan Felix Wiebe diff --git a/src/pretix/control/templates/pretixcontrol/vouchers/bulk.html b/src/pretix/control/templates/pretixcontrol/vouchers/bulk.html index 6ddf8136f3..30b9c43c67 100644 --- a/src/pretix/control/templates/pretixcontrol/vouchers/bulk.html +++ b/src/pretix/control/templates/pretixcontrol/vouchers/bulk.html @@ -13,7 +13,7 @@
-
diff --git a/src/pretix/static/pretixcontrol/js/ui/main.js b/src/pretix/static/pretixcontrol/js/ui/main.js index 81e366a53e..8e54059272 100644 --- a/src/pretix/static/pretixcontrol/js/ui/main.js +++ b/src/pretix/static/pretixcontrol/js/ui/main.js @@ -96,12 +96,21 @@ $(function () { // Vouchers $("#voucher-bulk-codes-generate").click(function () { - var url = $(this).attr("data-rng-url"), - num = $("#voucher-bulk-codes-num").val(); - $("#id_codes").html("Generating..."); - $.getJSON(url + '?num=' + num, function (data) { - $("#id_codes").val(data.codes.join("\n")); - }); + var num = $("#voucher-bulk-codes-num").val(); + if (num != "") { + $(".form-group:has(#voucher-bulk-codes-num)").addClass("has-error"); + var url = $(this).attr("data-rng-url"); + $("#id_codes").html("Generating..."); + $.getJSON(url + '?num=' + num, function (data) { + $("#id_codes").val(data.codes.join("\n")); + }); + } else { + $(".form-group:has(#voucher-bulk-codes-num)").addClass("has-error"); + $("#voucher-bulk-codes-num").focus(); + setTimeout(function() { + $(".form-group:has(#voucher-bulk-codes-num)").removeClass("has-error"); + }, 3000); + } }); $("#ajaxerr").on("click", ".ajaxerr-close", ajaxErrDialog.hide);