Added configurable text for organizer page (#494)

This commit is contained in:
scabux
2017-05-17 15:53:30 +02:00
committed by Raphael Michel
parent 396c558b25
commit b5a2123d1c
5 changed files with 26 additions and 0 deletions

View File

@@ -47,6 +47,7 @@ def rich_text(text: str, **kwargs):
"""
Processes markdown and cleans HTML in a text input.
"""
text = str(text)
body_md = bleach.linkify(bleach.clean(
markdown.markdown(text),
tags=ALLOWED_TAGS,

View File

@@ -1,6 +1,8 @@
from django import forms
from django.conf import settings
from django.core.exceptions import ValidationError
from django.utils.translation import ugettext_lazy as _
from i18nfield.forms import I18nFormField, I18nTextarea
from pretix.base.forms import I18nModelForm, SettingsForm
from pretix.base.models import Organizer, Team
@@ -103,6 +105,20 @@ class TeamForm(forms.ModelForm):
class OrganizerSettingsForm(SettingsForm):
locales = forms.MultipleChoiceField(
choices=settings.LANGUAGES,
label=_("Use languages"),
widget=forms.CheckboxSelectMultiple,
help_text=_('Choose all languages that your organizer homepage should be available in.')
)
organizer_homepage_text = I18nFormField(
label=_('Homepage text'),
required=False,
widget=I18nTextarea,
help_text=_('This will be displayed on the organizer homepage.')
)
organizer_logo_image = ExtFileField(
label=_('Logo image'),
ext_whitelist=(".png", ".jpg", ".svg", ".gif", ".jpeg"),

View File

@@ -18,7 +18,9 @@
<fieldset>
<legend>{% trans "Display settings" %}</legend>
{% bootstrap_form_errors sform %}
{% bootstrap_field sform.locales layout="horizontal" %}
{% bootstrap_field sform.organizer_logo_image layout="horizontal" %}
{% bootstrap_field sform.organizer_homepage_text layout="horizontal" %}
</fieldset>
<div class="form-group submit-group">
<button type="submit" class="btn btn-primary btn-save">

View File

@@ -56,6 +56,7 @@ def contextprocessor(request):
if hasattr(request, 'organizer'):
ctx['organizer_logo'] = request.organizer.settings.get('organizer_logo_image', as_type=str, default='')[7:]
ctx['organizer_homepage_text'] = request.organizer.settings.get('organizer_homepage_text', as_type=LazyI18nString)
ctx['organizer'] = request.organizer
ctx['html_head'] = "".join(_html_head)

View File

@@ -1,8 +1,14 @@
{% extends "pretixpresale/organizers/base.html" %}
{% load i18n %}
{% load rich_text %}
{% load eventurl %}
{% block title %}{% trans "Event list" %}{% endblock %}
{% block content %}
<div>
{% if organizer_homepage_text %}
{{ organizer_homepage_text | rich_text }}
{% endif %}
</div>
{% if "old" in request.GET %}
<h3>Past events</h3>
<p>