From 00b4622afa7d0cac92286808a4472fe175149276 Mon Sep 17 00:00:00 2001 From: Raphael Michel Date: Tue, 21 Jan 2025 15:05:16 +0100 Subject: [PATCH] Address form logic: Respect dependency of VAT ID on is_business (#4713) --- src/pretix/static/pretixbase/js/addressform.js | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/pretix/static/pretixbase/js/addressform.js b/src/pretix/static/pretixbase/js/addressform.js index a4ec2892b2..5cae95100d 100644 --- a/src/pretix/static/pretixbase/js/addressform.js +++ b/src/pretix/static/pretixbase/js/addressform.js @@ -34,10 +34,17 @@ $(function () { } for(var k in dependents) { const options = data[k], - dependent = dependents[k], - visible = 'visible' in options ? options.visible : true, - required = 'required' in options && options.required && isRequired && visible; + dependent = dependents[k]; + let visible = 'visible' in options ? options.visible : true; + if (dependent.is("[data-display-dependency]")) { + const dependency = $(dependent.attr("data-display-dependency")); + visible = visible && ( + (dependency.attr("type") === 'checkbox' || dependency.attr("type") === 'radio') ? dependency.prop('checked') : !!dependency.val() + ); + } + + const required = 'required' in options && options.required && isRequired && visible; dependent.closest(".form-group").toggle(visible).toggleClass('required', required); dependent.prop("required", required); }