From 083c2579157cbcd456a18e854ea9b981a3f5af30 Mon Sep 17 00:00:00 2001 From: Raphael Michel Date: Wed, 5 May 2021 22:35:26 +0200 Subject: [PATCH] updatestyles: Work around settings propagation to avoid deleting wrong files Includes a minor CSS change to trigger a rebuild of all CSS files --- src/pretix/presale/style.py | 14 ++++++++------ src/pretix/static/pretixcontrol/scss/main.scss | 7 +++---- 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/src/pretix/presale/style.py b/src/pretix/presale/style.py index b543f21f3d..b87a672ab6 100644 --- a/src/pretix/presale/style.py +++ b/src/pretix/presale/style.py @@ -133,28 +133,30 @@ def delete_old_file(fname): @app.task(base=TransactionAwareProfiledEventTask) def regenerate_css(event): + settings = event.settings._cache() # ignore organizer settings + # main.scss css, checksum = compile_scss(event) fname = 'pub/{}/{}/presale.{}.css'.format(event.organizer.slug, event.slug, checksum[:16]) - if event.settings.get('presale_css_checksum', '') != checksum: - old_fname = event.settings.get('presale_css_file') if 'presale_css_file' in event.settings._cache() else None + if settings.get('presale_css_checksum', '') != checksum: + old_fname = settings.get('presale_css_file') newname = default_storage.save(fname, ContentFile(css.encode('utf-8'))) event.settings.set('presale_css_file', newname) event.settings.set('presale_css_checksum', checksum) - if old_fname != newname: + if old_fname and old_fname != newname: delete_old_file(old_fname) # widget.scss css, checksum = compile_scss(event, file='widget.scss', fonts=False) fname = 'pub/{}/{}/widget.{}.css'.format(event.organizer.slug, event.slug, checksum[:16]) - if event.settings.get('presale_widget_css_checksum', '') != checksum: - old_fname = event.settings.get('presale_css_file') if 'presale_widget_css_file' in event.settings._cache() else None + if settings.get('presale_widget_css_checksum', '') != checksum: + old_fname = settings.get('presale_css_file') newname = default_storage.save(fname, ContentFile(css.encode('utf-8'))) event.settings.set('presale_widget_css_file', newname) event.settings.set('presale_widget_css_checksum', checksum) - if old_fname != newname: + if old_fname and old_fname != newname: delete_old_file(old_fname) diff --git a/src/pretix/static/pretixcontrol/scss/main.scss b/src/pretix/static/pretixcontrol/scss/main.scss index 853bf7c9e2..4158edcc9b 100644 --- a/src/pretix/static/pretixcontrol/scss/main.scss +++ b/src/pretix/static/pretixcontrol/scss/main.scss @@ -709,13 +709,12 @@ h1 .label { .withoutjs { display: none !important; } -.nojs .withoutjs { - display: block !important; -} - .nojs .requirejs { display: none !important; } +.nojs .withoutjs { + display: block !important; +} @import "../../pretixbase/scss/_rtl.scss"; @import "../../bootstrap/scss/_rtl.scss";