mirror of
https://github.com/pretix/pretix.git
synced 2025-12-21 16:42:26 +00:00
Compare commits
3 Commits
widget-dia
...
quickstart
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
05546fe32f | ||
|
|
95f17733db | ||
|
|
68a666dcf0 |
@@ -1860,7 +1860,11 @@ class QuickSetupForm(I18nForm):
|
|||||||
self.fields['payment_banktransfer_bank_details'].required = False
|
self.fields['payment_banktransfer_bank_details'].required = False
|
||||||
for f in self.fields.values():
|
for f in self.fields.values():
|
||||||
if 'data-required-if' in f.widget.attrs:
|
if 'data-required-if' in f.widget.attrs:
|
||||||
del f.widget.attrs['data-required-if']
|
f.widget.attrs['data-required-if'] += ",#id_payment_banktransfer__enabled"
|
||||||
|
|
||||||
|
self.fields['payment_banktransfer_bank_details'].widget.attrs["data-required-if"] = (
|
||||||
|
"#id_payment_banktransfer_bank_details_type_1,#id_payment_banktransfer__enabled"
|
||||||
|
)
|
||||||
|
|
||||||
def clean(self):
|
def clean(self):
|
||||||
cleaned_data = super().clean()
|
cleaned_data = super().clean()
|
||||||
|
|||||||
@@ -415,17 +415,25 @@ var form_handlers = function (el) {
|
|||||||
|
|
||||||
el.find("input[data-required-if], select[data-required-if], textarea[data-required-if]").each(function () {
|
el.find("input[data-required-if], select[data-required-if], textarea[data-required-if]").each(function () {
|
||||||
var dependent = $(this),
|
var dependent = $(this),
|
||||||
dependency = $($(this).attr("data-required-if")),
|
dependencies = $($(this).attr("data-required-if")),
|
||||||
update = function (ev) {
|
update = function (ev) {
|
||||||
var enabled = (dependency.attr("type") === 'checkbox' || dependency.attr("type") === 'radio') ? dependency.prop('checked') : !!dependency.val();
|
var enabled = true;
|
||||||
|
dependencies.each(function () {
|
||||||
|
var dependency = $(this);
|
||||||
|
var e = (dependency.attr("type") === 'checkbox' || dependency.attr("type") === 'radio') ? dependency.prop('checked') : !!dependency.val();
|
||||||
|
enabled = enabled && e;
|
||||||
|
});
|
||||||
dependent.prop('required', enabled).closest('.form-group').toggleClass('required', enabled).find('.optional').stop().animate({
|
dependent.prop('required', enabled).closest('.form-group').toggleClass('required', enabled).find('.optional').stop().animate({
|
||||||
'opacity': enabled ? 0 : 1
|
'opacity': enabled ? 0 : 1
|
||||||
}, ev ? 500 : 1);
|
}, ev ? 500 : 1);
|
||||||
};
|
};
|
||||||
update();
|
update();
|
||||||
|
dependencies.each(function () {
|
||||||
|
var dependency = $(this);
|
||||||
dependency.closest('.form-group').find('input[name=' + dependency.attr("name") + ']').on("change", update);
|
dependency.closest('.form-group').find('input[name=' + dependency.attr("name") + ']').on("change", update);
|
||||||
dependency.closest('.form-group').find('input[name=' + dependency.attr("name") + ']').on("dp.change", update);
|
dependency.closest('.form-group').find('input[name=' + dependency.attr("name") + ']').on("dp.change", update);
|
||||||
});
|
});
|
||||||
|
});
|
||||||
|
|
||||||
el.find("div.scrolling-choice:not(.no-search)").each(function () {
|
el.find("div.scrolling-choice:not(.no-search)").each(function () {
|
||||||
if ($(this).find("input[type=text]").length > 0) {
|
if ($(this).find("input[type=text]").length > 0) {
|
||||||
|
|||||||
@@ -514,13 +514,17 @@ $(function () {
|
|||||||
$("input[data-required-if], select[data-required-if], textarea[data-required-if]").each(function () {
|
$("input[data-required-if], select[data-required-if], textarea[data-required-if]").each(function () {
|
||||||
var dependent = $(this),
|
var dependent = $(this),
|
||||||
dependentLabel = $("label[for="+this.id+"]"),
|
dependentLabel = $("label[for="+this.id+"]"),
|
||||||
dependency = $($(this).attr("data-required-if")),
|
dependencies = $($(this).attr("data-required-if")),
|
||||||
update = function (ev) {
|
update = function (ev) {
|
||||||
var enabled = (dependency.attr("type") === 'checkbox' || dependency.attr("type") === 'radio') ? dependency.prop('checked') : !!dependency.val();
|
var enabled = true;
|
||||||
|
dependencies.each(function () {
|
||||||
|
var dependency = $(this);
|
||||||
|
var e = (dependency.attr("type") === 'checkbox' || dependency.attr("type") === 'radio') ? dependency.prop('checked') : !!dependency.val();
|
||||||
|
enabled = enabled && e;
|
||||||
|
});
|
||||||
if (!dependent.is("[data-no-required-attr]")) {
|
if (!dependent.is("[data-no-required-attr]")) {
|
||||||
dependent.prop('required', enabled);
|
dependent.prop('required', enabled);
|
||||||
}
|
}
|
||||||
dependent.closest('.form-group').toggleClass('required', enabled);
|
|
||||||
if (enabled) {
|
if (enabled) {
|
||||||
dependentLabel.append('<i class="label-required">' + gettext('required') + '</i>');
|
dependentLabel.append('<i class="label-required">' + gettext('required') + '</i>');
|
||||||
}
|
}
|
||||||
@@ -529,9 +533,12 @@ $(function () {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
update();
|
update();
|
||||||
|
dependencies.each(function () {
|
||||||
|
var dependency = $(this);
|
||||||
dependency.closest('.form-group').find('input[name=' + dependency.attr("name") + ']').on("change", update);
|
dependency.closest('.form-group').find('input[name=' + dependency.attr("name") + ']').on("change", update);
|
||||||
dependency.closest('.form-group').find('input[name=' + dependency.attr("name") + ']').on("dp.change", update);
|
dependency.closest('.form-group').find('input[name=' + dependency.attr("name") + ']').on("dp.change", update);
|
||||||
});
|
});
|
||||||
|
});
|
||||||
|
|
||||||
$("input[data-display-dependency], div[data-display-dependency], select[data-display-dependency], textarea[data-display-dependency]").each(function () {
|
$("input[data-display-dependency], div[data-display-dependency], select[data-display-dependency], textarea[data-display-dependency]").each(function () {
|
||||||
var dependent = $(this),
|
var dependent = $(this),
|
||||||
|
|||||||
Reference in New Issue
Block a user