diff --git a/src/pretix/control/forms/renderers.py b/src/pretix/control/forms/renderers.py
index 485330b60c..786a060d49 100644
--- a/src/pretix/control/forms/renderers.py
+++ b/src/pretix/control/forms/renderers.py
@@ -98,6 +98,14 @@ class ControlFieldRenderer(FieldRenderer):
attrs = ''
return '
{html}
'.format(klass=self.get_form_group_class(), html=html, attrs=attrs)
+ def wrap_widget(self, html):
+ if isinstance(self.widget, CheckboxInput):
+ css_class = "checkbox"
+ if self.field.field.disabled:
+ css_class += " disabled"
+ html = f'{html}
'
+ return html
+
class ControlFieldWithVisibilityRenderer(ControlFieldRenderer):
def __init__(self, *args, **kwargs):
diff --git a/src/pretix/presale/forms/renderers.py b/src/pretix/presale/forms/renderers.py
index a94ca72c75..891f240420 100644
--- a/src/pretix/presale/forms/renderers.py
+++ b/src/pretix/presale/forms/renderers.py
@@ -174,3 +174,11 @@ class CheckoutFieldRenderer(FieldRenderer):
else:
attrs = ''
return '{html}
'.format(klass=self.get_form_group_class(), html=html, attrs=attrs)
+
+ def wrap_widget(self, html):
+ if isinstance(self.widget, CheckboxInput):
+ css_class = "checkbox"
+ if self.field.field.disabled:
+ css_class += " disabled"
+ html = f'{html}
'
+ return html