Allowing more options to style pretix shops (#1585)

* Fix caching issues in SASS compilation

* Allow to set a custom page background color

* Allow to disable round corners

* Support larger header pictures

* Allow to show title despite header

* Move language picker

* FIx widget styles
This commit is contained in:
Raphael Michel
2020-02-27 10:54:00 +01:00
committed by GitHub
parent b622854be6
commit 3fd650081b
22 changed files with 650 additions and 72 deletions

View File

@@ -12,6 +12,7 @@ from django.core.files.base import ContentFile
from django.core.files.storage import default_storage
from django.dispatch import Signal
from django.templatetags.static import static as _static
from django.utils.timezone import now
from django_scopes import scope
from pretix.base.models import Event, Event_SettingsStore, Organizer
@@ -49,6 +50,12 @@ def compile_scss(object, file="main.scss", fonts=True):
sassrules.append('$brand-success: {};'.format(object.settings.get('theme_color_success')))
if object.settings.get('theme_color_danger'):
sassrules.append('$brand-danger: {};'.format(object.settings.get('theme_color_danger')))
if object.settings.get('theme_color_background'):
sassrules.append('$body-bg: {};'.format(object.settings.get('theme_color_background')))
if not object.settings.get('theme_round_borders'):
sassrules.append('$border-radius-base: 0;')
sassrules.append('$border-radius-large: 0;')
sassrules.append('$border-radius-small: 0;')
font = object.settings.get('primary_font')
if font != 'Open Sans' and fonts:
@@ -72,7 +79,8 @@ def compile_scss(object, file="main.scss", fonts=True):
sasssrc = "\n".join(sassrules)
srcchecksum = hashlib.sha1(sasssrc.encode('utf-8')).hexdigest()
css = cache.get('sass_compile_{}'.format(srcchecksum))
cp = cache.get_or_set('sass_compile_prefix', now().isoformat())
css = cache.get('sass_compile_{}_{}'.format(cp, srcchecksum))
if not css:
cf = dict(django_libsass.CUSTOM_FUNCTIONS)
cf['static'] = static