forked from CGM_Public/pretix_original
Add global banner message
This commit is contained in:
@@ -486,7 +486,15 @@ Your {event} team"""))
|
||||
'update_check_id': {
|
||||
'default': None,
|
||||
'type': str
|
||||
}
|
||||
},
|
||||
'banner_message': {
|
||||
'default': '',
|
||||
'type': LazyI18nString
|
||||
},
|
||||
'banner_message_detail': {
|
||||
'default': '',
|
||||
'type': LazyI18nString
|
||||
},
|
||||
}
|
||||
|
||||
settings_hierarkey = Hierarkey(attribute_name='settings')
|
||||
|
||||
@@ -91,8 +91,9 @@ def contextprocessor(request):
|
||||
|
||||
ctx['warning_update_available'] = False
|
||||
ctx['warning_update_check_active'] = False
|
||||
gs = GlobalSettingsObject()
|
||||
ctx['global_settings'] = gs.settings
|
||||
if request.user.is_superuser:
|
||||
gs = GlobalSettingsObject()
|
||||
if gs.settings.update_check_result_warning:
|
||||
ctx['warning_update_available'] = True
|
||||
if not gs.settings.update_check_ack and 'runserver' not in sys.argv:
|
||||
|
||||
@@ -2,7 +2,7 @@ from collections import OrderedDict
|
||||
|
||||
from django import forms
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
from i18nfield.forms import I18nFormField, I18nTextInput
|
||||
from i18nfield.forms import I18nFormField, I18nTextarea, I18nTextInput
|
||||
|
||||
from pretix.base.forms import SettingsForm
|
||||
from pretix.base.settings import GlobalSettingsObject
|
||||
@@ -26,7 +26,17 @@ class GlobalSettingsForm(SettingsForm):
|
||||
required=False,
|
||||
label=_("Additional footer link"),
|
||||
help_text=_("Will be included as the link in the additional footer text.")
|
||||
))
|
||||
)),
|
||||
('banner_message', I18nFormField(
|
||||
widget=I18nTextarea,
|
||||
required=False,
|
||||
label=_("Global message banner"),
|
||||
)),
|
||||
('banner_message_detail', I18nFormField(
|
||||
widget=I18nTextarea,
|
||||
required=False,
|
||||
label=_("Global message banner detail text"),
|
||||
)),
|
||||
])
|
||||
responses = register_global_settings.send(self)
|
||||
for r, response in sorted(responses, key=lambda r: str(r[0])):
|
||||
@@ -34,6 +44,9 @@ class GlobalSettingsForm(SettingsForm):
|
||||
# We need to be this explicit, since OrderedDict.update does not retain ordering
|
||||
self.fields[key] = value
|
||||
|
||||
self.fields['banner_message'].widget.attrs['rows'] = '2'
|
||||
self.fields['banner_message_detail'].widget.attrs['rows'] = '3'
|
||||
|
||||
|
||||
class UpdateSettingsForm(SettingsForm):
|
||||
update_check_perform = forms.BooleanField(
|
||||
|
||||
@@ -272,6 +272,17 @@
|
||||
</form>
|
||||
</div>
|
||||
{% endif %}
|
||||
{% if global_settings.banner_message %}
|
||||
<div class="impersonate-warning">
|
||||
<span class="fa fa-bell"></span>
|
||||
{{ global_settings.banner_message }}
|
||||
{% if global_settings.banner_message %}
|
||||
<a href="{% url 'control:global.message' %}">
|
||||
{% trans "Read more" %}
|
||||
</a>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% endif %}
|
||||
<div id="page-wrapper">
|
||||
<div class="container-fluid">
|
||||
{% if messages %}
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
{% extends "pretixcontrol/base.html" %}
|
||||
{% load i18n %}
|
||||
{% load rich_text %}
|
||||
|
||||
{% block title %}{% trans "System message" %}{% endblock %}
|
||||
{% block content %}
|
||||
<h1>{% trans "System message" %}</h1>
|
||||
{{ global_settings.banner_message_detail|rich_text }}
|
||||
{% endblock %}
|
||||
@@ -17,6 +17,7 @@ urlpatterns = [
|
||||
url(r'^$', dashboards.user_index, name='index'),
|
||||
url(r'^global/settings/$', global_settings.GlobalSettingsView.as_view(), name='global.settings'),
|
||||
url(r'^global/update/$', global_settings.UpdateCheckView.as_view(), name='global.update'),
|
||||
url(r'^global/message/$', global_settings.MessageView.as_view(), name='global.message'),
|
||||
url(r'^reauth/$', user.ReauthView.as_view(), name='user.reauth'),
|
||||
url(r'^users/$', users.UserListView.as_view(), name='users'),
|
||||
url(r'^users/select2$', typeahead.users_select2, name='users.select2'),
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
from django.contrib import messages
|
||||
from django.shortcuts import redirect, reverse
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
from django.views.generic import FormView
|
||||
from django.views.generic import FormView, TemplateView
|
||||
|
||||
from pretix.base.services.update_check import check_result_table, update_check
|
||||
from pretix.base.settings import GlobalSettingsObject
|
||||
@@ -56,3 +56,7 @@ class UpdateCheckView(AdministratorPermissionRequiredMixin, FormView):
|
||||
|
||||
def get_success_url(self):
|
||||
return reverse('control:global.update')
|
||||
|
||||
|
||||
class MessageView(TemplateView):
|
||||
template_name = 'pretixcontrol/global_message.html'
|
||||
|
||||
Reference in New Issue
Block a user