forked from CGM_Public/pretix_original
Add quick-start assistant for new users (#833)
* First draft for quick-setup * Add payment * Fix stripe w/o connect * cols * Add tests
This commit is contained in:
@@ -206,15 +206,19 @@ var form_handlers = function (el) {
|
||||
dependency.on("change", update);
|
||||
});
|
||||
|
||||
$("input[data-display-dependency]").each(function () {
|
||||
$("div[data-display-dependency], input[data-display-dependency]").each(function () {
|
||||
var dependent = $(this),
|
||||
dependency = $($(this).attr("data-display-dependency")),
|
||||
update = function (ev) {
|
||||
var enabled = (dependency.attr("type") === 'checkbox' || dependency.attr("type") === 'radio') ? dependency.prop('checked') : !!dependency.val();
|
||||
var $toggling = dependent;
|
||||
if (dependent.tagName === "input") {
|
||||
$toggling = dependent.closest('.form-group');
|
||||
}
|
||||
if (ev) {
|
||||
dependent.closest('.form-group').slideToggle(enabled);
|
||||
$toggling.stop().slideToggle(enabled);
|
||||
} else {
|
||||
dependent.closest('.form-group').toggle(enabled);
|
||||
$toggling.stop().toggle(enabled);
|
||||
}
|
||||
};
|
||||
update();
|
||||
|
||||
50
src/pretix/static/pretixcontrol/js/ui/quicksetup.js
Normal file
50
src/pretix/static/pretixcontrol/js/ui/quicksetup.js
Normal file
@@ -0,0 +1,50 @@
|
||||
$(function () {
|
||||
"use strict";
|
||||
|
||||
var ticket_type_quota_calculation = function () {
|
||||
var sum = 0;
|
||||
$("#ticket-type-formset div[data-formset-form]").each(function () {
|
||||
if (!$(this).find("input[name$=DELETE]").prop("checked")) {
|
||||
var val = $(this).find("input[name$=quota]").val();
|
||||
if (val === "") {
|
||||
sum = "∞";
|
||||
} else if (sum !== "∞") {
|
||||
sum += parseInt(val);
|
||||
}
|
||||
}
|
||||
});
|
||||
$("#total-capacity").text(sum);
|
||||
};
|
||||
|
||||
var toggle_payment = function () {
|
||||
var any = false;
|
||||
$("#ticket-type-formset div[data-formset-form]").each(function () {
|
||||
if (!$(this).find("input[name$=DELETE]").prop("checked")) {
|
||||
var val = $(this).find("input[name$=default_price]").val();
|
||||
if (/.*[1-9].*/.test(val)) {
|
||||
any = true;
|
||||
}
|
||||
}
|
||||
});
|
||||
if ($("#quick-setup-step-payment:visible").length && !any) {
|
||||
$("#quick-setup-step-payment").stop().slideUp();
|
||||
} else if (!$("#quick-setup-step-payment:visible").length && any) {
|
||||
$("#quick-setup-step-payment").stop().slideDown();
|
||||
}
|
||||
};
|
||||
|
||||
$("#ticket-type-formset").bind("formAdded", ticket_type_quota_calculation);
|
||||
$("#ticket-type-formset").on("change keyup keydown keypress", "input", function () {
|
||||
ticket_type_quota_calculation();
|
||||
toggle_payment();
|
||||
});
|
||||
ticket_type_quota_calculation();
|
||||
toggle_payment();
|
||||
|
||||
$("#total-capacity-edit").click(function () {
|
||||
$("#id_total_quota").val(parseInt($("#total-capacity").text()));
|
||||
$("#total-capacity").hide();
|
||||
$("#id_total_quota").closest("div").removeClass("sr-only");
|
||||
$("#total-capacity-edit").hide();
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user