updatestyles: Work around settings propagation to avoid deleting wrong files

Includes a minor CSS change to trigger a rebuild of all CSS files
This commit is contained in:
Raphael Michel
2021-05-05 22:35:26 +02:00
parent 8c101dc64c
commit 083c257915
2 changed files with 11 additions and 10 deletions

View File

@@ -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)

View File

@@ -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";