From 7a00f9cd1830fdf43c9fc279e7cf80224f834239 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Felix=20Sch=C3=A4fer?= <felix@thegcat.net> Date: Wed, 11 Sep 2019 20:26:21 +0200 Subject: [PATCH] Make showing name and product optional --- pretix_public_registrations/forms.py | 8 ++++++++ pretix_public_registrations/signals.py | 14 ++++++++++++-- 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/pretix_public_registrations/forms.py b/pretix_public_registrations/forms.py index 107e7f4..47c4825 100644 --- a/pretix_public_registrations/forms.py +++ b/pretix_public_registrations/forms.py @@ -20,6 +20,14 @@ class PublicRegistrationsForm(SettingsForm): 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) diff --git a/pretix_public_registrations/signals.py b/pretix_public_registrations/signals.py index 2d9f371..7514157 100644 --- a/pretix_public_registrations/signals.py +++ b/pretix_public_registrations/signals.py @@ -13,6 +13,8 @@ from pretix.base.settings import settings_hierarkey settings_hierarkey.add_default('public_registrations_items', None, list) settings_hierarkey.add_default('public_registrations_questions', None, list) +settings_hierarkey.add_default('public_registrations_show_attendee_name', False, bool) +settings_hierarkey.add_default('public_registrations_show_item_name', False, bool) @receiver(html_head, dispatch_uid="public_registrations_html_head") @@ -49,7 +51,11 @@ def add_public_registrations_table(sender, **kwargs): if cached is None: cached = "" public_questions = sender.questions.filter(pk__in=sender.settings.get('public_registrations_questions')) - headers = [_("Name")] + [ + headers = ( + [_("Product")] if sender.settings.get('public_registrations_show_item_name') else [] + ) + ( + [_("Name")] if sender.settings.get('public_registrations_show_attendee_name') else [] + ) + [ q.question for q in public_questions ] order_positions = OrderPosition.objects.filter(order__event=sender, item__pk__in=sender.settings.get('public_registrations_items')) @@ -67,7 +73,11 @@ def add_public_registrations_table(sender, **kwargs): public_registrations = [ { 'gr_url': get_gravatar_url(pop.attendee_email, size=24, default="wavatar"), - 'fields': [pop.attendee_name_cached] + [ + 'fields': ( + [pop.item.name] if sender.settings.get('public_registrations_show_item_name') else [] + ) + ( + [pop.attendee_name_cached] if sender.settings.get('public_registrations_show_attendee_name') else [] + ) + [ public_answers[pop.pk][pq.pk].answer if public_answers.get(pop.pk, None) and public_answers[pop.pk].get(pq.pk, None) else '' for pq in public_questions ] -- GitLab