From 2c47a7788e192903dd134279296954a94735b30c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Benjamin=20H=C3=A4ttasch?=
 <benjamin.haettasch@cs.tu-darmstadt.de>
Date: Sat, 19 Oct 2019 01:55:19 +0200
Subject: [PATCH] Improve ak creation handling & introduce message handling
 into views

Add template and template tag for messages
Adapt success url of AK creation to point to detail page of created AK and show success message
---
 .../locale/de_DE/LC_MESSAGES/django.po        | 35 +++++++++++++------
 .../templates/AKSubmission/ak_detail.html     |  2 ++
 .../templates/AKSubmission/submit_new.html    |  1 +
 .../templatetags/tags_AKSubmission.py         | 12 +++++++
 AKSubmission/views.py                         |  4 ++-
 5 files changed, 43 insertions(+), 11 deletions(-)

diff --git a/AKSubmission/locale/de_DE/LC_MESSAGES/django.po b/AKSubmission/locale/de_DE/LC_MESSAGES/django.po
index da9687ad..1f025527 100644
--- a/AKSubmission/locale/de_DE/LC_MESSAGES/django.po
+++ b/AKSubmission/locale/de_DE/LC_MESSAGES/django.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-10-18 22:22+0000\n"
+"POT-Creation-Date: 2019-10-18 23:53+0000\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -25,42 +25,43 @@ msgstr ""
 #: templates/AKSubmission/submission_overview.html:6
 #: templates/AKSubmission/submission_overview.html:11
 #: templates/AKSubmission/submission_overview.html:15
+#: templates/AKSubmission/submit_new.html:12
 msgid "AK Submission"
 msgstr "AK-Eintragung"
 
-#: templates/AKSubmission/ak_detail.html:30
+#: templates/AKSubmission/ak_detail.html:32
 #: templates/AKSubmission/ak_list_table.html:10
 msgid "Who?"
 msgstr "Wer?"
 
-#: templates/AKSubmission/ak_detail.html:32
+#: templates/AKSubmission/ak_detail.html:34
 #: templates/AKSubmission/ak_list_table.html:11
 msgid "Category"
 msgstr "Kategorie"
 
-#: templates/AKSubmission/ak_detail.html:38
+#: templates/AKSubmission/ak_detail.html:40
 msgid "Present this AK"
 msgstr "Diesen AK vorstellen"
 
-#: templates/AKSubmission/ak_detail.html:42
+#: templates/AKSubmission/ak_detail.html:44
 #: templates/AKSubmission/ak_list.html:26
 #: templates/AKSubmission/ak_list_table.html:12
 msgid "Tags"
 msgstr "Tags"
 
-#: templates/AKSubmission/ak_detail.html:48
+#: templates/AKSubmission/ak_detail.html:50
 msgid "Reso?"
 msgstr "Reso?"
 
-#: templates/AKSubmission/ak_detail.html:60
+#: templates/AKSubmission/ak_detail.html:62
 msgid "When?"
 msgstr "Wann?"
 
-#: templates/AKSubmission/ak_detail.html:61
+#: templates/AKSubmission/ak_detail.html:63
 msgid "Duration"
 msgstr "Dauer"
 
-#: templates/AKSubmission/ak_detail.html:62
+#: templates/AKSubmission/ak_detail.html:64
 msgid "Room"
 msgstr "Raum"
 
@@ -87,13 +88,19 @@ msgstr "Reso"
 #: templates/AKSubmission/submission_overview.html:17
 msgid ""
 "On this page you can see a list of current AKs, change them and add new ones."
-msgstr "Auf dieser Seite kannst du eine Liste von aktuellen AKs sehen, diese bearbeiten und neue hinzufügen."
+msgstr ""
+"Auf dieser Seite kannst du eine Liste von aktuellen AKs sehen, diese "
+"bearbeiten und neue hinzufügen."
 
 #: templates/AKSubmission/submission_overview.html:20
+#: templates/AKSubmission/submit_new.html:26
 msgid "Submit"
 msgstr "Eintragen"
 
 #: templates/AKSubmission/submission_overview.html:21
+#: templates/AKSubmission/submit_new.html:7
+#: templates/AKSubmission/submit_new.html:13
+#: templates/AKSubmission/submit_new.html:18
 msgid "New AK"
 msgstr "Neuer AK"
 
@@ -104,3 +111,11 @@ msgstr "Neuer AK-Wunsch"
 #: templates/AKSubmission/submission_overview.html:26
 msgid "Current AKs"
 msgstr "Aktuelle AKs"
+
+#: templates/AKSubmission/submit_new.html:23
+msgid "Reset"
+msgstr "Zurücksetzen"
+
+#: views.py:71
+msgid "AK successfully created"
+msgstr "AK erfolgreich angelegt"
diff --git a/AKSubmission/templates/AKSubmission/ak_detail.html b/AKSubmission/templates/AKSubmission/ak_detail.html
index d68f3fc7..6e7a81df 100644
--- a/AKSubmission/templates/AKSubmission/ak_detail.html
+++ b/AKSubmission/templates/AKSubmission/ak_detail.html
@@ -17,6 +17,8 @@
 {% block content %}
     <h1 style="margin-bottom: 30px;">{{ ak.event.name }}: {% trans "AK Submission" %}</h1>
 
+    {% include "AKSubmission/messages.html" %}
+
     <div class="float-right">
         {% if ak.link != "" %}
             <a href="{{ ak.link }}" class="btn btn-info">{%  fontawesome_icon 'external-link-alt' %}</a>
diff --git a/AKSubmission/templates/AKSubmission/submit_new.html b/AKSubmission/templates/AKSubmission/submit_new.html
index ff66e9de..0981c5a4 100644
--- a/AKSubmission/templates/AKSubmission/submit_new.html
+++ b/AKSubmission/templates/AKSubmission/submit_new.html
@@ -14,6 +14,7 @@
 {% endblock %}
 
 {% block content %}
+    {% include "AKSubmission/messages.html" %}
     <h2>{% trans 'New AK' %}</h2>
     <form method="POST" class="post-form">{% csrf_token %}
         {% bootstrap_form form %}
diff --git a/AKSubmission/templatetags/tags_AKSubmission.py b/AKSubmission/templatetags/tags_AKSubmission.py
index 22445335..fa0019c0 100644
--- a/AKSubmission/templatetags/tags_AKSubmission.py
+++ b/AKSubmission/templatetags/tags_AKSubmission.py
@@ -24,3 +24,15 @@ def category_list(categories, event_slug):
 @register.inclusion_tag("AKSubmission/category_linked_badge.html")
 def category_linked_badge(category, event_slug):
     return {"category": category, "event_slug": event_slug}
+
+
+@register.filter
+def message_bootstrap_class(tag):
+    print(tag)
+    if tag == "error":
+        return "alert-danger"
+    elif tag == "success":
+        return "alert-success"
+    elif tag == "warning":
+        return "alert-warning"
+    return "alert-info"
diff --git a/AKSubmission/views.py b/AKSubmission/views.py
index f0955be6..1bfbd2d4 100644
--- a/AKSubmission/views.py
+++ b/AKSubmission/views.py
@@ -1,3 +1,4 @@
+from django.contrib import messages
 from django.http import Http404
 from django.urls import reverse_lazy
 from django.utils.translation import gettext_lazy as _
@@ -67,4 +68,5 @@ class AKSubmissionView(CreateView):
     form_class = AKForm
 
     def get_success_url(self):
-        return reverse_lazy('submit:submission_overview', kwargs={'event_slug': self.kwargs['event_slug']})
+        messages.add_message(self.request, messages.SUCCESS, _("AK successfully created"))
+        return reverse_lazy('submit:ak_detail', kwargs={'event_slug': self.kwargs['event_slug'], 'pk': self.object.pk})
-- 
GitLab