From 28a5519881f3dcaaeca21b68934f4d6dae0887ac Mon Sep 17 00:00:00 2001 From: Raphael Michel Date: Tue, 28 May 2019 10:07:42 +0200 Subject: [PATCH] Fix #1270 -- Provide preview for fonts in display settings --- src/pretix/control/forms/__init__.py | 4 ++++ src/pretix/control/forms/event.py | 5 +++-- src/pretix/control/forms/organizer.py | 5 ++++- .../control/templates/pretixcontrol/event/display.html | 4 ++++ src/pretix/control/templates/pretixcontrol/font_option.html | 2 ++ .../control/templates/pretixcontrol/organizers/display.html | 4 ++++ src/pretix/control/templates/pretixcontrol/pdf/index.html | 2 +- src/pretix/control/urls.py | 1 + 8 files changed, 23 insertions(+), 4 deletions(-) create mode 100644 src/pretix/control/templates/pretixcontrol/font_option.html diff --git a/src/pretix/control/forms/__init__.py b/src/pretix/control/forms/__init__.py index 61e3c3ddb..72945781a 100644 --- a/src/pretix/control/forms/__init__.py +++ b/src/pretix/control/forms/__init__.py @@ -200,3 +200,7 @@ class SplitDateTimeField(forms.SplitDateTimeField): result = datetime.datetime.combine(*data_list) return from_current_timezone(result) return None + + +class FontSelect(forms.RadioSelect): + option_template_name = 'pretixcontrol/font_option.html' diff --git a/src/pretix/control/forms/event.py b/src/pretix/control/forms/event.py index 261a1a459..62acd365c 100644 --- a/src/pretix/control/forms/event.py +++ b/src/pretix/control/forms/event.py @@ -25,8 +25,8 @@ from pretix.base.models.event import EventMetaValue, SubEvent from pretix.base.reldate import RelativeDateField, RelativeDateTimeField from pretix.base.settings import PERSON_NAME_SCHEMES from pretix.control.forms import ( - ExtFileField, MultipleLanguagesWidget, SingleLanguageWidget, SlugWidget, - SplitDateTimeField, SplitDateTimePickerWidget, + ExtFileField, FontSelect, MultipleLanguagesWidget, SingleLanguageWidget, + SlugWidget, SplitDateTimeField, SplitDateTimePickerWidget, ) from pretix.multidomain.urlreverse import build_absolute_uri from pretix.plugins.banktransfer.payment import BankTransfer @@ -1140,6 +1140,7 @@ class DisplaySettingsForm(SettingsForm): choices=[ ('Open Sans', 'Open Sans') ], + widget=FontSelect, help_text=_('Only respected by modern browsers.') ) frontpage_text = I18nFormField( diff --git a/src/pretix/control/forms/organizer.py b/src/pretix/control/forms/organizer.py index 989e1b4d4..37395978f 100644 --- a/src/pretix/control/forms/organizer.py +++ b/src/pretix/control/forms/organizer.py @@ -12,7 +12,9 @@ from pretix.api.models import WebHook from pretix.api.webhooks import get_all_webhook_events from pretix.base.forms import I18nModelForm, SettingsForm from pretix.base.models import Device, Organizer, Team -from pretix.control.forms import ExtFileField, MultipleLanguagesWidget +from pretix.control.forms import ( + ExtFileField, FontSelect, MultipleLanguagesWidget, +) from pretix.multidomain.models import KnownDomain from pretix.presale.style import get_fonts @@ -260,6 +262,7 @@ class OrganizerDisplaySettingsForm(SettingsForm): choices=[ ('Open Sans', 'Open Sans') ], + widget=FontSelect, help_text=_('Only respected by modern browsers.') ) favicon = ExtFileField( diff --git a/src/pretix/control/templates/pretixcontrol/event/display.html b/src/pretix/control/templates/pretixcontrol/event/display.html index ee991b206..d37796230 100644 --- a/src/pretix/control/templates/pretixcontrol/event/display.html +++ b/src/pretix/control/templates/pretixcontrol/event/display.html @@ -2,6 +2,10 @@ {% load i18n %} {% load bootstrap3 %} {% load hierarkey_form %} +{% block custom_header %} + {{ block.super }} + +{% endblock %} {% block inside %}

{% trans "Display settings" %}

diff --git a/src/pretix/control/templates/pretixcontrol/font_option.html b/src/pretix/control/templates/pretixcontrol/font_option.html new file mode 100644 index 000000000..8171cbc6a --- /dev/null +++ b/src/pretix/control/templates/pretixcontrol/font_option.html @@ -0,0 +1,2 @@ +{% load i18n %}{% if widget.wrap_label %}{% endif %}{% include "django/forms/widgets/input.html" %}{% if widget.wrap_label %} {{ widget.label }}
{% trans "The quick brown fox jumps over the lazy dog." context "typography" %}{% endif %} diff --git a/src/pretix/control/templates/pretixcontrol/organizers/display.html b/src/pretix/control/templates/pretixcontrol/organizers/display.html index 0e5569a88..88d541cf1 100644 --- a/src/pretix/control/templates/pretixcontrol/organizers/display.html +++ b/src/pretix/control/templates/pretixcontrol/organizers/display.html @@ -1,6 +1,10 @@ {% extends "pretixcontrol/organizers/base.html" %} {% load i18n %} {% load bootstrap3 %} +{% block custom_header %} + {{ block.super }} + +{% endblock %} {% block inner %}

{% trans "Display settings" %}

diff --git a/src/pretix/control/templates/pretixcontrol/pdf/index.html b/src/pretix/control/templates/pretixcontrol/pdf/index.html index f18f06097..030c902bc 100644 --- a/src/pretix/control/templates/pretixcontrol/pdf/index.html +++ b/src/pretix/control/templates/pretixcontrol/pdf/index.html @@ -8,7 +8,7 @@ {% compress css %} {% endcompress %} - + {% endblock %} {% block content %}

diff --git a/src/pretix/control/urls.py b/src/pretix/control/urls.py index 999416eba..fb6cd25d2 100644 --- a/src/pretix/control/urls.py +++ b/src/pretix/control/urls.py @@ -34,6 +34,7 @@ urlpatterns = [ url(r'^users/(?P\d+)/reset$', users.UserResetView.as_view(), name='users.reset'), url(r'^users/(?P\d+)/impersonate', users.UserImpersonateView.as_view(), name='users.impersonate'), url(r'^users/(?P\d+)/anonymize', users.UserAnonymizeView.as_view(), name='users.anonymize'), + url(r'^pdf/editor/webfonts.css', pdf.FontsCSSView.as_view(), name='pdf.css'), url(r'^settings/?$', user.UserSettings.as_view(), name='user.settings'), url(r'^settings/history/$', user.UserHistoryView.as_view(), name='user.settings.history'), url(r'^settings/notifications/$', user.UserNotificationsEditView.as_view(), name='user.settings.notifications'),