from django import forms from django.utils.translation import gettext_lazy as _ from pretix.base.forms import SettingsForm class PublicRegistrationsSettingsForm(SettingsForm): public_registrations_items = forms.MultipleChoiceField( widget=forms.CheckboxSelectMultiple( attrs={"class": "scrolling-multiple-choice"} ), label=_("Show public registrations for"), required=True, choices=[], ) public_registrations_questions = forms.MultipleChoiceField( widget=forms.CheckboxSelectMultiple( attrs={"class": "scrolling-multiple-choice"} ), label=_("Publicly show answers for"), required=True, choices=[], ) public_registrations_show_attendee_name = forms.BooleanField( label=_("Show attendee name"), required=False, ) public_registrations_show_item_name = forms.BooleanField( label=_("Show product name"), required=False, ) def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) self.fields["public_registrations_items"].choices = [ (i.pk, i.name) for i in self.obj.items.all() ] self.fields["public_registrations_questions"].choices = [ (q.pk, q.question) for q in self.obj.questions.all() ]