Skip to content
Snippets Groups Projects
forms.py 1.31 KiB
Newer Older
  • Learn to ignore specific revisions
  • Felix Schäfer's avatar
    Felix Schäfer committed
    from django import forms
    
    Felix Schäfer's avatar
    Felix Schäfer committed
    from django.utils.translation import gettext_lazy as _
    
    Felix Schäfer's avatar
    Felix Schäfer committed
    from pretix.base.forms import SettingsForm
    
    
    
    class PublicRegistrationsSettingsForm(SettingsForm):
    
    Felix Schäfer's avatar
    Felix Schäfer committed
        public_registrations_items = forms.MultipleChoiceField(
            widget=forms.CheckboxSelectMultiple(
    
    Felix Schäfer's avatar
    Felix Schäfer committed
                attrs={"class": "scrolling-multiple-choice"}
    
    Felix Schäfer's avatar
    Felix Schäfer committed
            ),
    
    Felix Schäfer's avatar
    Felix Schäfer committed
            label=_("Show public registrations for"),
    
    Felix Schäfer's avatar
    Felix Schäfer committed
            required=True,
            choices=[],
        )
        public_registrations_questions = forms.MultipleChoiceField(
            widget=forms.CheckboxSelectMultiple(
    
    Felix Schäfer's avatar
    Felix Schäfer committed
                attrs={"class": "scrolling-multiple-choice"}
    
    Felix Schäfer's avatar
    Felix Schäfer committed
            ),
    
    Felix Schäfer's avatar
    Felix Schäfer committed
            label=_("Publicly show answers for"),
    
    Felix Schäfer's avatar
    Felix Schäfer committed
            required=True,
            choices=[],
        )
    
        public_registrations_show_attendee_name = forms.BooleanField(
    
    Felix Schäfer's avatar
    Felix Schäfer committed
            label=_("Show attendee name"),
    
            required=False,
        )
        public_registrations_show_item_name = forms.BooleanField(
    
    Felix Schäfer's avatar
    Felix Schäfer committed
            label=_("Show product name"),
    
            required=False,
        )
    
    Felix Schäfer's avatar
    Felix Schäfer committed
    
        def __init__(self, *args, **kwargs):
            super().__init__(*args, **kwargs)
    
    Felix Schäfer's avatar
    Felix Schäfer committed
            self.fields["public_registrations_items"].choices = [
    
    Felix Schäfer's avatar
    Felix Schäfer committed
                (i.pk, i.name) for i in self.obj.items.all()
            ]
    
    Felix Schäfer's avatar
    Felix Schäfer committed
            self.fields["public_registrations_questions"].choices = [
    
    Felix Schäfer's avatar
    Felix Schäfer committed
                (q.pk, q.question) for q in self.obj.questions.all()
            ]