mirror of
https://github.com/pretix/pretix.git
synced 2026-05-11 16:13:59 +00:00
Added configurable text for organizer page (#494)
This commit is contained in:
@@ -47,6 +47,7 @@ def rich_text(text: str, **kwargs):
|
|||||||
"""
|
"""
|
||||||
Processes markdown and cleans HTML in a text input.
|
Processes markdown and cleans HTML in a text input.
|
||||||
"""
|
"""
|
||||||
|
text = str(text)
|
||||||
body_md = bleach.linkify(bleach.clean(
|
body_md = bleach.linkify(bleach.clean(
|
||||||
markdown.markdown(text),
|
markdown.markdown(text),
|
||||||
tags=ALLOWED_TAGS,
|
tags=ALLOWED_TAGS,
|
||||||
|
|||||||
@@ -1,6 +1,8 @@
|
|||||||
from django import forms
|
from django import forms
|
||||||
|
from django.conf import settings
|
||||||
from django.core.exceptions import ValidationError
|
from django.core.exceptions import ValidationError
|
||||||
from django.utils.translation import ugettext_lazy as _
|
from django.utils.translation import ugettext_lazy as _
|
||||||
|
from i18nfield.forms import I18nFormField, I18nTextarea
|
||||||
|
|
||||||
from pretix.base.forms import I18nModelForm, SettingsForm
|
from pretix.base.forms import I18nModelForm, SettingsForm
|
||||||
from pretix.base.models import Organizer, Team
|
from pretix.base.models import Organizer, Team
|
||||||
@@ -103,6 +105,20 @@ class TeamForm(forms.ModelForm):
|
|||||||
|
|
||||||
class OrganizerSettingsForm(SettingsForm):
|
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(
|
organizer_logo_image = ExtFileField(
|
||||||
label=_('Logo image'),
|
label=_('Logo image'),
|
||||||
ext_whitelist=(".png", ".jpg", ".svg", ".gif", ".jpeg"),
|
ext_whitelist=(".png", ".jpg", ".svg", ".gif", ".jpeg"),
|
||||||
|
|||||||
@@ -18,7 +18,9 @@
|
|||||||
<fieldset>
|
<fieldset>
|
||||||
<legend>{% trans "Display settings" %}</legend>
|
<legend>{% trans "Display settings" %}</legend>
|
||||||
{% bootstrap_form_errors sform %}
|
{% bootstrap_form_errors sform %}
|
||||||
|
{% bootstrap_field sform.locales layout="horizontal" %}
|
||||||
{% bootstrap_field sform.organizer_logo_image layout="horizontal" %}
|
{% bootstrap_field sform.organizer_logo_image layout="horizontal" %}
|
||||||
|
{% bootstrap_field sform.organizer_homepage_text layout="horizontal" %}
|
||||||
</fieldset>
|
</fieldset>
|
||||||
<div class="form-group submit-group">
|
<div class="form-group submit-group">
|
||||||
<button type="submit" class="btn btn-primary btn-save">
|
<button type="submit" class="btn btn-primary btn-save">
|
||||||
|
|||||||
@@ -56,6 +56,7 @@ def contextprocessor(request):
|
|||||||
|
|
||||||
if hasattr(request, 'organizer'):
|
if hasattr(request, 'organizer'):
|
||||||
ctx['organizer_logo'] = request.organizer.settings.get('organizer_logo_image', as_type=str, default='')[7:]
|
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['organizer'] = request.organizer
|
||||||
|
|
||||||
ctx['html_head'] = "".join(_html_head)
|
ctx['html_head'] = "".join(_html_head)
|
||||||
|
|||||||
@@ -1,8 +1,14 @@
|
|||||||
{% extends "pretixpresale/organizers/base.html" %}
|
{% extends "pretixpresale/organizers/base.html" %}
|
||||||
{% load i18n %}
|
{% load i18n %}
|
||||||
|
{% load rich_text %}
|
||||||
{% load eventurl %}
|
{% load eventurl %}
|
||||||
{% block title %}{% trans "Event list" %}{% endblock %}
|
{% block title %}{% trans "Event list" %}{% endblock %}
|
||||||
{% block content %}
|
{% block content %}
|
||||||
|
<div>
|
||||||
|
{% if organizer_homepage_text %}
|
||||||
|
{{ organizer_homepage_text | rich_text }}
|
||||||
|
{% endif %}
|
||||||
|
</div>
|
||||||
{% if "old" in request.GET %}
|
{% if "old" in request.GET %}
|
||||||
<h3>Past events</h3>
|
<h3>Past events</h3>
|
||||||
<p>
|
<p>
|
||||||
|
|||||||
Reference in New Issue
Block a user