From 3a459a694555aa63df132bf8a12a33df23f9ec1e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Benjamin=20H=C3=A4ttasch?=
 <benjamin.haettasch@fachschaft.informatik.tu-darmstadt.de>
Date: Tue, 29 Oct 2019 15:59:07 +0100
Subject: [PATCH] Add generic footer to all pages

---
 AKModel/templatetags/__init__.py              |   0
 AKModel/templatetags/tags_AKModel.py          |   9 +
 AKPlanning/locale/de_DE/LC_MESSAGES/django.po |   8 +-
 .../locale/de_DE/LC_MESSAGES/django.po        | 192 +++++++++---------
 locale/de_DE/LC_MESSAGES/django.po            |  27 +++
 templates/base.html                           |  18 ++
 6 files changed, 155 insertions(+), 99 deletions(-)
 create mode 100644 AKModel/templatetags/__init__.py
 create mode 100644 AKModel/templatetags/tags_AKModel.py
 create mode 100644 locale/de_DE/LC_MESSAGES/django.po

diff --git a/AKModel/templatetags/__init__.py b/AKModel/templatetags/__init__.py
new file mode 100644
index 00000000..e69de29b
diff --git a/AKModel/templatetags/tags_AKModel.py b/AKModel/templatetags/tags_AKModel.py
new file mode 100644
index 00000000..4c154816
--- /dev/null
+++ b/AKModel/templatetags/tags_AKModel.py
@@ -0,0 +1,9 @@
+from django import template
+from django.conf import settings
+
+register = template.Library()
+
+# Get Footer Info from settings
+@register.simple_tag
+def footer_info():
+    return settings.FOOTER_INFO
diff --git a/AKPlanning/locale/de_DE/LC_MESSAGES/django.po b/AKPlanning/locale/de_DE/LC_MESSAGES/django.po
index 97d38e3a..c61ff77a 100644
--- a/AKPlanning/locale/de_DE/LC_MESSAGES/django.po
+++ b/AKPlanning/locale/de_DE/LC_MESSAGES/django.po
@@ -2,13 +2,13 @@
 # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
 # This file is distributed under the same license as the PACKAGE package.
 # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-#
+# 
 #, fuzzy
 msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-10-20 08:43+0000\n"
+"POT-Creation-Date: 2019-10-29 14:50+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"
@@ -17,10 +17,10 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: settings.py:124
+#: AKPlanning/settings.py:126
 msgid "German"
 msgstr "Deutsch"
 
-#: settings.py:125
+#: AKPlanning/settings.py:127
 msgid "English"
 msgstr "Englisch"
diff --git a/AKSubmission/locale/de_DE/LC_MESSAGES/django.po b/AKSubmission/locale/de_DE/LC_MESSAGES/django.po
index d91e4032..4aa13e10 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-25 15:15+0000\n"
+"POT-Creation-Date: 2019-10-29 14:50+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"
@@ -17,20 +17,20 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: forms.py:43
+#: AKSubmission/forms.py:43
 msgid "Separate multiple tags with semicolon"
 msgstr "Mehrere Tags mit Semikolon trennen"
 
-#: forms.py:67
+#: AKSubmission/forms.py:67
 #, python-format
 msgid "\"%(duration)s\" is not a valid duration"
 msgstr "\"%(duration)s\" ist keine gültige Dauer"
 
-#: forms.py:110
+#: AKSubmission/forms.py:110
 msgid "Duration(s)"
 msgstr "Dauer(n)"
 
-#: forms.py:112
+#: AKSubmission/forms.py:112
 msgid ""
 "Enter at least one planned duration (in hours). If your AK should have "
 "multiple slots, use multiple lines"
@@ -38,241 +38,243 @@ msgstr ""
 "Mindestens eine geplante Dauer (in Stunden) angeben. Wenn der AK mehrere "
 "Slots haben soll, mehrere Zeilen verwenden"
 
-#: templates/AKSubmission/ak_detail.html:8
-#: templates/AKSubmission/ak_edit.html:8 templates/AKSubmission/ak_list.html:8
-#: templates/AKSubmission/ak_list.html:14
-#: templates/AKSubmission/akowner_create_update.html:7
-#: templates/AKSubmission/akslot_add_update.html:7
-#: templates/AKSubmission/akslot_delete.html:7
-#: templates/AKSubmission/submission_overview.html:6
-#: templates/AKSubmission/submission_overview.html:15
-#: templates/AKSubmission/submit_new.html:8
-#: templates/AKSubmission/submit_new_wish.html:5
+#: AKSubmission/templates/AKSubmission/ak_detail.html:8
+#: AKSubmission/templates/AKSubmission/ak_edit.html:8
+#: AKSubmission/templates/AKSubmission/ak_list.html:8
+#: AKSubmission/templates/AKSubmission/ak_list.html:14
+#: AKSubmission/templates/AKSubmission/akowner_create_update.html:7
+#: AKSubmission/templates/AKSubmission/akslot_add_update.html:7
+#: AKSubmission/templates/AKSubmission/akslot_delete.html:7
+#: AKSubmission/templates/AKSubmission/submission_overview.html:6
+#: AKSubmission/templates/AKSubmission/submission_overview.html:15
+#: AKSubmission/templates/AKSubmission/submit_new.html:8
+#: AKSubmission/templates/AKSubmission/submit_new_wish.html:5
 msgid "AKs"
 msgstr "AKs"
 
-#: templates/AKSubmission/ak_detail.html:8
-#: templates/AKSubmission/akslot_delete.html:30
+#: AKSubmission/templates/AKSubmission/ak_detail.html:8
+#: AKSubmission/templates/AKSubmission/akslot_delete.html:30
 #, fuzzy
 #| msgid "AKs"
 msgid "AK"
 msgstr "AKs"
 
-#: templates/AKSubmission/ak_detail.html:13
-#: templates/AKSubmission/ak_edit.html:14
-#: templates/AKSubmission/ak_list.html:13
-#: templates/AKSubmission/ak_list.html:18
-#: templates/AKSubmission/akowner_create_update.html:13
-#: templates/AKSubmission/akslot_add_update.html:13
-#: templates/AKSubmission/akslot_delete.html:13
-#: templates/AKSubmission/submission_overview.html:6
-#: templates/AKSubmission/submission_overview.html:11
-#: templates/AKSubmission/submit_new.html:19
-#: templates/AKSubmission/submit_new_wish.html:10
+#: AKSubmission/templates/AKSubmission/ak_detail.html:13
+#: AKSubmission/templates/AKSubmission/ak_edit.html:14
+#: AKSubmission/templates/AKSubmission/ak_list.html:13
+#: AKSubmission/templates/AKSubmission/ak_list.html:18
+#: AKSubmission/templates/AKSubmission/akowner_create_update.html:13
+#: AKSubmission/templates/AKSubmission/akslot_add_update.html:13
+#: AKSubmission/templates/AKSubmission/akslot_delete.html:13
+#: AKSubmission/templates/AKSubmission/submission_overview.html:6
+#: AKSubmission/templates/AKSubmission/submission_overview.html:11
+#: AKSubmission/templates/AKSubmission/submit_new.html:19
+#: AKSubmission/templates/AKSubmission/submit_new_wish.html:10
 msgid "AK Submission"
 msgstr "AK-Eintragung"
 
-#: templates/AKSubmission/ak_detail.html:27
-#: templates/AKSubmission/ak_list_table.html:30
+#: AKSubmission/templates/AKSubmission/ak_detail.html:27
+#: AKSubmission/templates/AKSubmission/ak_list_table.html:30
 msgid "AK Wish"
 msgstr "AK-Wunsch"
 
-#: templates/AKSubmission/ak_detail.html:30
-#: templates/AKSubmission/ak_list_table.html:10
+#: AKSubmission/templates/AKSubmission/ak_detail.html:30
+#: AKSubmission/templates/AKSubmission/ak_list_table.html:10
 msgid "Who?"
 msgstr "Wer?"
 
-#: templates/AKSubmission/ak_detail.html:32
-#: templates/AKSubmission/ak_list_table.html:11
+#: AKSubmission/templates/AKSubmission/ak_detail.html:32
+#: AKSubmission/templates/AKSubmission/ak_list_table.html:11
 msgid "Category"
 msgstr "Kategorie"
 
-#: templates/AKSubmission/ak_detail.html:38
+#: AKSubmission/templates/AKSubmission/ak_detail.html:38
 msgid "Present this AK"
 msgstr "Diesen AK vorstellen"
 
-#: templates/AKSubmission/ak_detail.html:42
-#: templates/AKSubmission/ak_list.html:26
-#: templates/AKSubmission/ak_list_table.html:12
+#: AKSubmission/templates/AKSubmission/ak_detail.html:42
+#: AKSubmission/templates/AKSubmission/ak_list.html:26
+#: AKSubmission/templates/AKSubmission/ak_list_table.html:12
 msgid "Tags"
 msgstr "Tags"
 
-#: templates/AKSubmission/ak_detail.html:48
+#: AKSubmission/templates/AKSubmission/ak_detail.html:48
 msgid "Reso?"
 msgstr "Reso?"
 
-#: templates/AKSubmission/ak_detail.html:62
+#: AKSubmission/templates/AKSubmission/ak_detail.html:62
 msgid "When?"
 msgstr "Wann?"
 
-#: templates/AKSubmission/ak_detail.html:63
-#: templates/AKSubmission/akslot_delete.html:31
+#: AKSubmission/templates/AKSubmission/ak_detail.html:63
+#: AKSubmission/templates/AKSubmission/akslot_delete.html:31
 msgid "Duration"
 msgstr "Dauer"
 
-#: templates/AKSubmission/ak_detail.html:64
+#: AKSubmission/templates/AKSubmission/ak_detail.html:64
 msgid "Room"
 msgstr "Raum"
 
-#: templates/AKSubmission/ak_detail.html:86
+#: AKSubmission/templates/AKSubmission/ak_detail.html:86
 msgid "Add another slot"
 msgstr "Einen neuen AK-Slot hinzufügen"
 
-#: templates/AKSubmission/ak_edit.html:8 templates/AKSubmission/ak_edit.html:21
+#: AKSubmission/templates/AKSubmission/ak_edit.html:8
+#: AKSubmission/templates/AKSubmission/ak_edit.html:21
 msgid "Edit AK"
 msgstr "AK bearbeiten"
 
-#: templates/AKSubmission/ak_edit.html:16
+#: AKSubmission/templates/AKSubmission/ak_edit.html:16
 msgid "Edit"
 msgstr "Bearbeiten"
 
-#: templates/AKSubmission/ak_list.html:20
+#: AKSubmission/templates/AKSubmission/ak_list.html:20
 msgid "Categories"
 msgstr "Kategorie"
 
-#: templates/AKSubmission/ak_list_table.html:9
+#: AKSubmission/templates/AKSubmission/ak_list_table.html:9
 msgid "Name"
 msgstr "Name"
 
-#: templates/AKSubmission/ak_list_table.html:22
+#: AKSubmission/templates/AKSubmission/ak_list_table.html:22
 msgid "present this AK"
 msgstr "Diesen AK vorstellen"
 
-#: templates/AKSubmission/ak_list_table.html:25
+#: AKSubmission/templates/AKSubmission/ak_list_table.html:25
 msgid "Reso"
 msgstr "Reso"
 
-#: templates/AKSubmission/akowner_create_update.html:7
-#: templates/AKSubmission/akowner_create_update.html:14
-#: templates/AKSubmission/akowner_create_update.html:19
+#: AKSubmission/templates/AKSubmission/akowner_create_update.html:7
+#: AKSubmission/templates/AKSubmission/akowner_create_update.html:14
+#: AKSubmission/templates/AKSubmission/akowner_create_update.html:19
 msgid "AK Owner"
 msgstr "AK-Leitung"
 
-#: templates/AKSubmission/akowner_create_update.html:25
-#: templates/AKSubmission/akslot_add_update.html:26
-#: templates/AKSubmission/submit_new.html:34
+#: AKSubmission/templates/AKSubmission/akowner_create_update.html:25
+#: AKSubmission/templates/AKSubmission/akslot_add_update.html:26
+#: AKSubmission/templates/AKSubmission/submit_new.html:34
 msgid "Reset"
 msgstr "Zurücksetzen"
 
-#: templates/AKSubmission/akowner_create_update.html:29
-#: templates/AKSubmission/akslot_add_update.html:30
-#: templates/AKSubmission/akslot_delete.html:36
-#: templates/AKSubmission/submit_new.html:38
+#: AKSubmission/templates/AKSubmission/akowner_create_update.html:29
+#: AKSubmission/templates/AKSubmission/akslot_add_update.html:30
+#: AKSubmission/templates/AKSubmission/akslot_delete.html:36
+#: AKSubmission/templates/AKSubmission/submit_new.html:38
 msgid "Cancel"
 msgstr "Abbrechen"
 
-#: templates/AKSubmission/akowner_create_update.html:32
-#: templates/AKSubmission/akslot_add_update.html:33
+#: AKSubmission/templates/AKSubmission/akowner_create_update.html:32
+#: AKSubmission/templates/AKSubmission/akslot_add_update.html:33
 msgid "Continue"
 msgstr "Weiter"
 
-#: templates/AKSubmission/akslot_add_update.html:7
-#: templates/AKSubmission/akslot_add_update.html:15
-#: templates/AKSubmission/akslot_add_update.html:20
-#: templates/AKSubmission/akslot_delete.html:7
-#: templates/AKSubmission/akslot_delete.html:15
-#: templates/AKSubmission/akslot_delete.html:20
+#: AKSubmission/templates/AKSubmission/akslot_add_update.html:7
+#: AKSubmission/templates/AKSubmission/akslot_add_update.html:15
+#: AKSubmission/templates/AKSubmission/akslot_add_update.html:20
+#: AKSubmission/templates/AKSubmission/akslot_delete.html:7
+#: AKSubmission/templates/AKSubmission/akslot_delete.html:15
+#: AKSubmission/templates/AKSubmission/akslot_delete.html:20
 #, fuzzy
 #| msgid "Duration(s)"
 msgid "AK Duration(s)"
 msgstr "Dauer(n)"
 
-#: templates/AKSubmission/akslot_delete.html:25
+#: AKSubmission/templates/AKSubmission/akslot_delete.html:25
 msgid "Do you really want to delete this AK Slot?"
 msgstr ""
 
-#: templates/AKSubmission/akslot_delete.html:39
+#: AKSubmission/templates/AKSubmission/akslot_delete.html:39
 msgid "Confirm"
 msgstr "Bestätigen"
 
-#: templates/AKSubmission/submission_overview.html:19
+#: AKSubmission/templates/AKSubmission/submission_overview.html:19
 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."
 
-#: templates/AKSubmission/submission_overview.html:25
-#: templates/AKSubmission/submit_new_wish.html:5
-#: templates/AKSubmission/submit_new_wish.html:11
-#: templates/AKSubmission/submit_new_wish.html:15
+#: AKSubmission/templates/AKSubmission/submission_overview.html:25
+#: AKSubmission/templates/AKSubmission/submit_new_wish.html:5
+#: AKSubmission/templates/AKSubmission/submit_new_wish.html:11
+#: AKSubmission/templates/AKSubmission/submit_new_wish.html:15
 msgid "New AK Wish"
 msgstr "Neuer AK-Wunsch"
 
-#: templates/AKSubmission/submission_overview.html:29
+#: AKSubmission/templates/AKSubmission/submission_overview.html:29
 msgid "Who"
 msgstr "Wer"
 
-#: templates/AKSubmission/submission_overview.html:32
+#: AKSubmission/templates/AKSubmission/submission_overview.html:32
 msgid "I do not own AKs yet"
 msgstr "Ich leite bisher keine AKs"
 
-#: templates/AKSubmission/submission_overview.html:40
-#: templates/AKSubmission/submit_new.html:8
-#: templates/AKSubmission/submit_new.html:21
-#: templates/AKSubmission/submit_new.html:28
+#: AKSubmission/templates/AKSubmission/submission_overview.html:40
+#: AKSubmission/templates/AKSubmission/submit_new.html:8
+#: AKSubmission/templates/AKSubmission/submit_new.html:21
+#: AKSubmission/templates/AKSubmission/submit_new.html:28
 msgid "New AK"
 msgstr "Neuer AK"
 
-#: templates/AKSubmission/submission_overview.html:46
+#: AKSubmission/templates/AKSubmission/submission_overview.html:46
 msgid "Edit Person Info"
 msgstr "Personen-Info bearbeiten"
 
-#: templates/AKSubmission/submission_overview.html:53
+#: AKSubmission/templates/AKSubmission/submission_overview.html:53
 msgid "Current AKs"
 msgstr "Aktuelle AKs"
 
-#: templates/AKSubmission/submit_new.html:41
+#: AKSubmission/templates/AKSubmission/submit_new.html:41
 msgid "Submit"
 msgstr "Eintragen"
 
-#: views.py:43
+#: AKSubmission/views.py:43
 msgid "Wishes"
 msgstr "Wünsche"
 
-#: views.py:43
+#: AKSubmission/views.py:43
 msgid "AKs one would like to have"
 msgstr ""
 "AKs die sich gewünscht wurden, aber bei denen noch nicht klar ist, wer sie "
 "macht. Falls du dir das vorstellen kannst, trag dich einfach ein"
 
-#: views.py:104
+#: AKSubmission/views.py:104
 msgid "AK successfully created"
 msgstr "AK erfolgreich angelegt"
 
-#: views.py:157
+#: AKSubmission/views.py:157
 msgid "AK successfully updated"
 msgstr "AK erfolgreich bearbeitet"
 
-#: views.py:215
+#: AKSubmission/views.py:215
 msgid "Person Info successfully updated"
 msgstr "Personen-Info erfolgreich bearbeitet"
 
-#: views.py:228
+#: AKSubmission/views.py:228
 msgid "No user selected"
 msgstr "Keine Person ausgewählt"
 
-#: views.py:254
+#: AKSubmission/views.py:254
 #, fuzzy
 #| msgid "AK successfully created"
 msgid "AK Slot successfully added"
 msgstr "AK erfolgreich angelegt"
 
-#: views.py:266
+#: AKSubmission/views.py:266
 msgid "You cannot edit a slot that has already been scheduled"
 msgstr "Bereits geplante AK-Slots können nicht mehr bearbeitet werden"
 
-#: views.py:276
+#: AKSubmission/views.py:276
 #, fuzzy
 #| msgid "AK successfully updated"
 msgid "AK Slot successfully updated"
 msgstr "AK erfolgreich bearbeitet"
 
-#: views.py:287
+#: AKSubmission/views.py:287
 msgid "You cannot delete a slot that has already been scheduled"
 msgstr "Bereits geplante AK-Slots können nicht mehr gelöscht werden"
 
-#: views.py:297
+#: AKSubmission/views.py:297
 #, fuzzy
 #| msgid "AK successfully created"
 msgid "AK Slot successfully deleted"
diff --git a/locale/de_DE/LC_MESSAGES/django.po b/locale/de_DE/LC_MESSAGES/django.po
new file mode 100644
index 00000000..bf77329f
--- /dev/null
+++ b/locale/de_DE/LC_MESSAGES/django.po
@@ -0,0 +1,27 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2019-10-29 14:50+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"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
+
+#: templates/base.html:73
+msgid "Impress"
+msgstr "Impressum"
+
+#: templates/base.html:74
+msgid "This software is open source"
+msgstr "Diese Software ist Open Source"
diff --git a/templates/base.html b/templates/base.html
index ad0c138a..70a3de8e 100644
--- a/templates/base.html
+++ b/templates/base.html
@@ -2,6 +2,7 @@
 {% load i18n %}
 {% load bootstrap4 %}
 {% load fontawesome %}
+{% load tags_AKModel %}
 
 <!DOCTYPE html>
 <html lang="en">
@@ -63,6 +64,23 @@
         {% endblock %}
     </div>
 
+    <div class="container" style="margin-top: 20px">
+        <div id="footer" style="padding-top:10px;padding-bottom:10px;border-top:1px solid grey;">
+            {% block footer_custom %}
+            {% endblock %}
+            {% footer_info as FI %}
+            {% if FI.impress_text %}
+                {{ FI.impress_text }} &middot;
+            {% endif %}
+            {% if FI.impress_url %}
+                <a href="{{ FI.impress_url }}">{% trans "Impress" %}</a> &middot;
+            {% endif %}
+            {% if FI.repo_url %}
+                <a href="{{ FI.repo_url }}">{% trans "This software is open source" %}</a>
+            {% endif %}
+        </div>
+    </div>
+
 {% block bottom_script %}{% endblock %}
 
 </body>
-- 
GitLab