From 8c101dc64c0166e8696e4bde17b2a1854408b9a2 Mon Sep 17 00:00:00 2001 From: Raphael Michel Date: Wed, 5 May 2021 22:34:43 +0200 Subject: [PATCH] updatestyles: Do not update the same styles twice --- .../presale/management/commands/updatestyles.py | 2 +- src/pretix/presale/style.py | 15 ++++++++------- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/src/pretix/presale/management/commands/updatestyles.py b/src/pretix/presale/management/commands/updatestyles.py index 6c635f5c58..b6be8066a5 100644 --- a/src/pretix/presale/management/commands/updatestyles.py +++ b/src/pretix/presale/management/commands/updatestyles.py @@ -52,7 +52,7 @@ class Command(BaseCommand): if options.get('organizer'): ostore = ostore.filter(object__slug=options['organizer']) for es in ostore: - regenerate_organizer_css.apply_async(args=(es.object_id,)) + regenerate_organizer_css.apply_async(args=(es.object_id,), kwargs={'regenerate_events': False}) estore = Event_SettingsStore.objects.filter(key="presale_css_file").order_by('-object__date_from') if options.get('event'): diff --git a/src/pretix/presale/style.py b/src/pretix/presale/style.py index 3d2fd87926..b543f21f3d 100644 --- a/src/pretix/presale/style.py +++ b/src/pretix/presale/style.py @@ -159,7 +159,7 @@ def regenerate_css(event): @app.task(base=TransactionAwareTask) -def regenerate_organizer_css(organizer_id: int): +def regenerate_organizer_css(organizer_id: int, regenerate_events=True): organizer = Organizer.objects.get(pk=organizer_id) with scope(organizer=organizer): @@ -185,12 +185,13 @@ def regenerate_organizer_css(organizer_id: int): if old_fname != newname: delete_old_file(old_fname) - non_inherited_events = set(Event_SettingsStore.objects.filter( - object__organizer=organizer, key__in=affected_keys - ).values_list('object_id', flat=True)) - for event in organizer.events.all(): - if event.pk not in non_inherited_events: - regenerate_css.apply_async(args=(event.pk,)) + if regenerate_events: + non_inherited_events = set(Event_SettingsStore.objects.filter( + object__organizer=organizer, key__in=affected_keys + ).values_list('object_id', flat=True)) + for event in organizer.events.all(): + if event.pk not in non_inherited_events: + regenerate_css.apply_async(args=(event.pk,)) register_fonts = Signal()