diff --git a/src/pretix/presale/forms/renderers.py b/src/pretix/presale/forms/renderers.py index 9c177197c..8106fc63b 100644 --- a/src/pretix/presale/forms/renderers.py +++ b/src/pretix/presale/forms/renderers.py @@ -33,6 +33,7 @@ def render_label(content, label_for=None, label_class=None, label_title='', labe """ Render a label with content """ + tag = 'label' attrs = attrs or {} if label_for: attrs['for'] = label_for @@ -58,15 +59,16 @@ def render_label(content, label_for=None, label_class=None, label_title='', labe attrs['class'] += ' label-empty' # usually checkboxes have overall empty labels and special labels per checkbox # => remove for-attribute as well as "required"-text appended to label + tag = 'div' if 'for' in attrs: del attrs['for'] elif not optional: - opt += ', {}'.format(pgettext('form', 'required')) + opt += '{}'.format(pgettext('form', 'required')) builder = '<{tag}{attrs}>{content}{opt}' return format_html( builder, - tag='label', + tag=tag, attrs=mark_safe(flatatt(attrs)) if attrs else '', opt=mark_safe(opt), content=text_value(content), diff --git a/src/pretix/static/pretixpresale/scss/_forms.scss b/src/pretix/static/pretixpresale/scss/_forms.scss index ace0eb780..62c397153 100644 --- a/src/pretix/static/pretixpresale/scss/_forms.scss +++ b/src/pretix/static/pretixpresale/scss/_forms.scss @@ -145,10 +145,23 @@ output { color: $brand-primary; font-weight: bold; } -.form-group.required .control-label:after { - content: '*'; - color: $brand-primary; +.label-required { + color: $text-muted; + display: block; + font-weight: normal; + font-style: normal; + font-size: 85%; } +.checkbox .label-required { + display: inline; + &:before { + content: " ("; + } + &:after { + content: ")"; + } +} + .form-control-text { padding-top: 7px; }