From 75b06041c6b86a8630c43cda1d19eb8c0e13c0d7 Mon Sep 17 00:00:00 2001 From: Jens Kleineheismann Date: Tue, 23 Jan 2018 20:08:02 +0100 Subject: [PATCH] Added django messages. --- dav_events/static/dav_events/css/local.css | 5 ++++- dav_events/templates/dav_events/base.html | 9 +++++++++ dav_events/templates/dav_events/home.html | 7 +++++++ dav_events/views/auth.py | 18 +++++++++++++++++- dav_events/views/events.py | 8 +++++++- 5 files changed, 44 insertions(+), 3 deletions(-) diff --git a/dav_events/static/dav_events/css/local.css b/dav_events/static/dav_events/css/local.css index 1e75c4d..0239152 100644 --- a/dav_events/static/dav_events/css/local.css +++ b/dav_events/static/dav_events/css/local.css @@ -48,8 +48,11 @@ thead input { float: right; } +#messages { + margin-top: 2rem; +} + #page-body { - padding-top: 2rem; padding-bottom: 6rem; } diff --git a/dav_events/templates/dav_events/base.html b/dav_events/templates/dav_events/base.html index 54822fc..8a536a7 100644 --- a/dav_events/templates/dav_events/base.html +++ b/dav_events/templates/dav_events/base.html @@ -1,6 +1,7 @@ {% load static %} {% load i18n %} +{% load bootstrap3 %} @@ -34,6 +35,14 @@
{% include 'dav_events/includes/login_widget.html' %}
+
+ {% block messages %} +
+ {% bootstrap_messages %} +
+ {% endblock messages %} +
+
{% block page-body %}
diff --git a/dav_events/templates/dav_events/home.html b/dav_events/templates/dav_events/home.html index f19952c..da7ee19 100644 --- a/dav_events/templates/dav_events/home.html +++ b/dav_events/templates/dav_events/home.html @@ -1,6 +1,13 @@ {% extends "dav_events/base.html" %} +{% load bootstrap3 %} {% load i18n %} +{% block messages %} +
+ {% bootstrap_messages %} +
+{% endblock messages %} + {% block page-container %}

{% trans 'Veranstaltungen' %}

diff --git a/dav_events/views/auth.py b/dav_events/views/auth.py index f619f9d..d4b666d 100644 --- a/dav_events/views/auth.py +++ b/dav_events/views/auth.py @@ -1,7 +1,8 @@ import logging - +from django.contrib import messages from django.contrib.auth import views as auth_views from django.urls import reverse_lazy +from django.utils.translation import ugettext as _ from .. import forms @@ -17,12 +18,27 @@ class LoginView(auth_views.LoginView): url = self.get_redirect_url() return url or self.next_page + def form_valid(self, form): + r = super(LoginView, self).form_valid(form) + messages.success(self.request, _(u'Benutzer angemeldet: %(username)s') % {'username': form.get_user()}) + return r + class LogoutView(auth_views.LogoutView): next_page = reverse_lazy('dav_events:home') + def dispatch(self, request, *args, **kwargs): + r = super(LogoutView, self).dispatch(request, *args, **kwargs) + messages.success(self.request, _(u'Benutzer abgemeldet.')) + return r + class SetPasswordView(auth_views.PasswordChangeView): form_class = forms.auth.SetPasswordForm template_name = 'dav_events/auth/set_password_form.html' success_url = reverse_lazy('dav_events:event_list') + + def form_valid(self, form): + r = super(SetPasswordView, self).form_valid(form) + messages.success(self.request, _(u'Passwort gespeichert.')) + return r \ No newline at end of file diff --git a/dav_events/views/events.py b/dav_events/views/events.py index 69139bd..62c7d00 100644 --- a/dav_events/views/events.py +++ b/dav_events/views/events.py @@ -1,6 +1,6 @@ import logging import os - +from django.contrib import messages from django.contrib.auth import login from django.contrib.auth.decorators import login_required from django.core.exceptions import PermissionDenied, SuspiciousOperation @@ -8,6 +8,7 @@ from django.db.models import Q from django.http import HttpResponseRedirect from django.urls import reverse, reverse_lazy from django.utils.decorators import method_decorator +from django.utils.translation import ugettext as _ from django.views import generic from .. import config @@ -102,6 +103,7 @@ class EventAcceptView(EventDetailView): def accept(self): event = self.get_object() event.accept() + messages.success(self.request, _(u'Veranstaltung freigegeben.')) def get(self, request, *args, **kwargs): self.accept() @@ -160,6 +162,7 @@ class EventCreateView(generic.FormView): return self.render_to_response(self.get_context_data(form=next_form, event=event)) else: event.save() + messages.success(self.request, _(u'Veranstaltung angelegt.')) owner = event.owner self.clean_session_data() if self.request.user.is_authenticated: @@ -169,6 +172,9 @@ class EventCreateView(generic.FormView): else: login(self.request, owner) next_url = reverse('dav_events:set_password') + messages.success(self.request, + _(u'Neuen Benutzer angemeldet: %(username)s') % {'username': owner.username}) + messages.warning(self.request, _(u'Bitte neues Passwort setzen!')) return HttpResponseRedirect(next_url) def clean_session_data(self, session=None):