Merge branch 'dsgvo'
This commit is contained in:
@@ -4,18 +4,17 @@ echo "aktualisiere Übersetzungen..."
|
||||
cd src
|
||||
unset DJANGO_SETTINGS_MODULE
|
||||
for dir in *
|
||||
do
|
||||
if [ -d ${dir}/locale ]
|
||||
echo "Übersetze $dir"
|
||||
then
|
||||
echo -n "$dir: "
|
||||
cd ${dir}
|
||||
django-admin.py makemessages -l de
|
||||
cd ..
|
||||
fi
|
||||
done
|
||||
do
|
||||
if [ -d ${dir}/locale ]
|
||||
then
|
||||
echo -n "$dir: "
|
||||
cd ${dir}
|
||||
django-admin.py makemessages -l de
|
||||
cd ..
|
||||
fi
|
||||
done
|
||||
sleep 5s
|
||||
export DJANGO_SETTINGS_MODULE="kasu.settings.production"
|
||||
export DJANGO_SETTINGS_MODULE="kasu.settings"
|
||||
./manage.py compilemessages
|
||||
|
||||
echo "lösche den Python Compiler Cache..."
|
||||
@@ -23,5 +22,5 @@ find . -name "*.pyc" -exec rm -rf {} \;
|
||||
echo "Aktualisiere Statics"
|
||||
./manage.py collectstatic --noinput -c
|
||||
echo "Erstelle Vorschaubilder"
|
||||
./manage.py generateimages
|
||||
./manage.py thumbnail_cleanup
|
||||
touch kasu/wsgi.py
|
||||
|
||||
@@ -17,5 +17,3 @@ PyJWT
|
||||
pytz
|
||||
requests
|
||||
requests-oauthlib
|
||||
social-auth-app-django
|
||||
social-auth-core
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
from django.core.cache import cache
|
||||
|
||||
from . import models
|
||||
|
||||
from utils import STATUS_PUBLISHED
|
||||
|
||||
def content_menus(request):
|
||||
""" Generate the menu tree and add these info to the template context.
|
||||
@@ -50,7 +50,7 @@ def content_menus(request):
|
||||
break
|
||||
current_path = current_path[0:current_path.rfind('.')]
|
||||
|
||||
return {'top_menu_items': top_level_pages,
|
||||
return {'top_menu_items': top_level_pages.filter(status=STATUS_PUBLISHED),
|
||||
'current_top_page': current_top_page,
|
||||
'current_path': current_path,
|
||||
'current_page': current_page}
|
||||
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: kasu.content\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-01-11 22:50+0100\n"
|
||||
"POT-Creation-Date: 2018-05-08 00:17+0200\n"
|
||||
"PO-Revision-Date: 2018-01-12 15:25+0105\n"
|
||||
"Last-Translator: b'Christian Berg <kasu@xendynastie.at>'\n"
|
||||
"Language-Team: Deutsch <>\n"
|
||||
@@ -20,258 +20,252 @@ msgstr ""
|
||||
"X-Generator: Poedit 1.8.9\n"
|
||||
"X-Translated-Using: django-rosetta 0.7.14\n"
|
||||
|
||||
#: src/content/feeds.py:18
|
||||
#: .\content\feeds.py:18
|
||||
msgid "Current news from Kasu"
|
||||
msgstr "Aktuelle Nachrichten von Kasu"
|
||||
|
||||
#: src/content/feeds.py:51
|
||||
#: .\content\feeds.py:51
|
||||
msgid "Latest comments on kasu.at"
|
||||
msgstr "Neueste Kommentare auf Kasu.at "
|
||||
|
||||
#: src/content/feeds.py:52
|
||||
#: .\content\feeds.py:52
|
||||
msgid "Kasu - latest comments"
|
||||
msgstr "Kasu - neue Kommentare"
|
||||
|
||||
#: src/content/forms.py:57 src/content/models.py:318
|
||||
#: .\content\forms.py:57 .\content\models.py:318
|
||||
msgid "Please upload a PDF-File to this PDF-Page."
|
||||
msgstr "Bitte eine PDF Datei für diese PDF Seite hochladen."
|
||||
|
||||
#: src/content/models.py:76
|
||||
#: .\content\models.py:76
|
||||
msgid "Headline"
|
||||
msgstr "Schlagzeile"
|
||||
|
||||
#: src/content/models.py:78
|
||||
#: .\content\models.py:78
|
||||
msgid "Content"
|
||||
msgstr "Inhalt"
|
||||
|
||||
#: src/content/models.py:82 src/content/models.py:150
|
||||
#: src/content/templates/content/article_detail.html:25
|
||||
#: .\content\models.py:82 .\content\models.py:150
|
||||
#: .\content\templates\content\article_detail.html:25
|
||||
msgid "Category"
|
||||
msgstr "Kategorie"
|
||||
|
||||
#: src/content/models.py:83 src/content/models.py:143
|
||||
#: .\content\models.py:83 .\content\models.py:143
|
||||
msgid "Image"
|
||||
msgstr "Bild"
|
||||
|
||||
#: src/content/models.py:85 src/content/models.py:145
|
||||
#: .\content\models.py:85 .\content\models.py:145
|
||||
msgid "Slug"
|
||||
msgstr "Slug"
|
||||
|
||||
#: src/content/models.py:88
|
||||
#: src/content/templates/content/article_detail.html:23
|
||||
#: .\content\models.py:88 .\content\templates\content\article_detail.html:23
|
||||
msgid "Author"
|
||||
msgstr "Autor"
|
||||
|
||||
#: src/content/models.py:89
|
||||
#: .\content\models.py:89
|
||||
msgid "Status"
|
||||
msgstr "Status"
|
||||
|
||||
#: src/content/models.py:91
|
||||
#: .\content\models.py:91
|
||||
msgid "Created"
|
||||
msgstr "Erstellt"
|
||||
|
||||
#: src/content/models.py:92
|
||||
#: .\content\models.py:92
|
||||
msgid "Modified"
|
||||
msgstr "Bearbeitet"
|
||||
|
||||
#: src/content/models.py:97
|
||||
#: .\content\models.py:97
|
||||
msgid "Article"
|
||||
msgstr "Artikel"
|
||||
|
||||
#: src/content/models.py:98
|
||||
#: .\content\models.py:98
|
||||
msgid "Articles"
|
||||
msgstr "Artikel"
|
||||
|
||||
#: src/content/models.py:139 src/content/models.py:140
|
||||
#: .\content\models.py:139 .\content\models.py:140
|
||||
msgid "Name"
|
||||
msgstr "Name"
|
||||
|
||||
#: src/content/models.py:141 src/content/models.py:142
|
||||
#: .\content\models.py:141 .\content\models.py:142
|
||||
msgid "Description"
|
||||
msgstr "Beschreibung"
|
||||
|
||||
#: src/content/models.py:151
|
||||
#: .\content\models.py:151
|
||||
msgid "Categories"
|
||||
msgstr "Kategorien"
|
||||
|
||||
#: src/content/models.py:182 src/content/models.py:188
|
||||
#: .\content\models.py:182 .\content\models.py:188
|
||||
msgid "The short name for the menu-entry of this page"
|
||||
msgstr "Ein kurzer Name für den Menüeintrag"
|
||||
|
||||
#: src/content/models.py:193 src/content/models.py:198
|
||||
#: .\content\models.py:193 .\content\models.py:198
|
||||
msgid "The page title as you'd like it to be seen by the public"
|
||||
msgstr "Der Seitentitel der öffentlich angezeigt werden soll"
|
||||
|
||||
#: src/content/models.py:200
|
||||
#: .\content\models.py:200
|
||||
msgid "slug"
|
||||
msgstr "Slug"
|
||||
|
||||
#: src/content/models.py:203
|
||||
#: .\content\models.py:203
|
||||
msgid ""
|
||||
"The name of the page as it will appear in URLs e.g "
|
||||
"http://domain.com/blog/[my-slug]/"
|
||||
msgstr ""
|
||||
"Wie die Seite in der URL aufscheint also http://domain.com/blog/[slug]"
|
||||
"The name of the page as it will appear in URLs e.g http://domain.com/blog/"
|
||||
"[my-slug]/"
|
||||
msgstr "Wie die Seite in der URL aufscheint also http://domain.com/blog/[slug]"
|
||||
|
||||
#: src/content/models.py:212
|
||||
#: .\content\models.py:212
|
||||
msgid "Path"
|
||||
msgstr "Pfad"
|
||||
|
||||
#: src/content/models.py:224
|
||||
#: .\content\models.py:224
|
||||
msgid "Position"
|
||||
msgstr "Position"
|
||||
|
||||
#: src/content/models.py:229
|
||||
#: .\content\models.py:229
|
||||
msgid "status"
|
||||
msgstr "Status"
|
||||
|
||||
#: src/content/models.py:232 src/content/models.py:234
|
||||
#| msgid "Description"
|
||||
#: .\content\models.py:232 .\content\models.py:234
|
||||
msgid "search description"
|
||||
msgstr "Beschreibung für Suchfunktion"
|
||||
|
||||
#: src/content/models.py:237
|
||||
#| msgid "Content"
|
||||
#: .\content\models.py:237
|
||||
msgid "content type"
|
||||
msgstr "Inhaltstyp"
|
||||
|
||||
#: src/content/models.py:242
|
||||
#: .\content\models.py:242
|
||||
msgid "enable comments"
|
||||
msgstr "Kommentare möglich"
|
||||
|
||||
#: src/content/models.py:247
|
||||
#: .\content\models.py:247
|
||||
msgid "Template"
|
||||
msgstr "Vorlage"
|
||||
|
||||
#: src/content/models.py:255
|
||||
#| msgid "created on"
|
||||
#: .\content\models.py:255
|
||||
msgid "first created at"
|
||||
msgstr "erstellt am"
|
||||
|
||||
#: src/content/models.py:260
|
||||
#: .\content\models.py:260
|
||||
msgid "latest updated at"
|
||||
msgstr "letzte Aktualisierung am"
|
||||
|
||||
#: src/content/models.py:331
|
||||
#: .\content\models.py:331
|
||||
msgid "Page"
|
||||
msgstr "Seite"
|
||||
|
||||
#: src/content/models.py:332
|
||||
#: .\content\models.py:332
|
||||
msgid "Pages"
|
||||
msgstr "Seiten"
|
||||
|
||||
#: src/content/templates/content/article_archive.html:5
|
||||
#: src/content/templates/content/article_archive.html:20
|
||||
#: .\content\templates\content\article_archive.html:5
|
||||
#: .\content\templates\content\article_archive.html:20
|
||||
msgid "Article Archive"
|
||||
msgstr "Nachrichtenarchiv"
|
||||
|
||||
#: src/content/templates/content/article_archive.html:35
|
||||
#: src/content/templates/content/article_archive_month.html:5
|
||||
#: src/content/templates/content/article_archive_year.html:7
|
||||
#: .\content\templates\content\article_archive.html:35
|
||||
#: .\content\templates\content\article_archive_month.html:5
|
||||
#: .\content\templates\content\article_archive_year.html:7
|
||||
msgid "Archive"
|
||||
msgstr "Archiv"
|
||||
|
||||
#: src/content/templates/content/article_archive.html:56
|
||||
#: .\content\templates\content\article_archive.html:56
|
||||
msgid "All Categories"
|
||||
msgstr "Alle Kategorien"
|
||||
|
||||
#: src/content/templates/content/article_archive.html:71
|
||||
#: .\content\templates\content\article_archive.html:71
|
||||
msgid "created on"
|
||||
msgstr "erstellt am"
|
||||
|
||||
#: src/content/templates/content/article_archive.html:73
|
||||
#: .\content\templates\content\article_archive.html:73
|
||||
msgid "by"
|
||||
msgstr "von"
|
||||
|
||||
#: src/content/templates/content/article_archive.html:74
|
||||
#: src/content/templates/content/article_archive.html:75
|
||||
#: .\content\templates\content\article_archive.html:74
|
||||
#: .\content\templates\content\article_archive.html:75
|
||||
msgid "comments"
|
||||
msgstr "Kommentare"
|
||||
|
||||
#: src/content/templates/content/article_archive.html:81
|
||||
#: .\content\templates\content\article_archive.html:81
|
||||
msgid "Read More"
|
||||
msgstr "Mehr lesen"
|
||||
|
||||
#: src/content/templates/content/article_archive.html:86
|
||||
#: .\content\templates\content\article_archive.html:86
|
||||
msgid "We're sorry. Your search yielded no results."
|
||||
msgstr "Es tut uns leid. Deine Suche ergab keine Treffer."
|
||||
|
||||
#: src/content/templates/content/article_archive.html:104
|
||||
#: .\content\templates\content\article_archive.html:104
|
||||
msgid "Add Article"
|
||||
msgstr "neuer Artikel "
|
||||
|
||||
#: src/content/templates/content/article_archive_month.html:7
|
||||
#: .\content\templates\content\article_archive_month.html:7
|
||||
msgid "back"
|
||||
msgstr "Zurück"
|
||||
|
||||
#: src/content/templates/content/article_detail.html:24
|
||||
#: .\content\templates\content\article_detail.html:24
|
||||
msgid "Created on"
|
||||
msgstr "Erstellt am"
|
||||
|
||||
#: src/content/templates/content/article_detail.html:36
|
||||
#: .\content\templates\content\article_detail.html:36
|
||||
msgid "share on"
|
||||
msgstr "Teile auf"
|
||||
|
||||
#: src/content/templates/content/article_detail.html:51
|
||||
#: src/content/views.py:156
|
||||
#: .\content\templates\content\article_detail.html:51 .\content\views.py:156
|
||||
msgid "Edit Article"
|
||||
msgstr "Artikel bearbeiten"
|
||||
|
||||
#: src/content/templates/content/article_form.html:32
|
||||
#: src/content/templates/content/page_form.html:42
|
||||
#: src/content/templates/content/page_form.html:49
|
||||
#: .\content\templates\content\article_form.html:32
|
||||
#: .\content\templates\content\page_form.html:42
|
||||
#: .\content\templates\content\page_form.html:49
|
||||
msgid "German"
|
||||
msgstr "Deutsch"
|
||||
|
||||
#: src/content/templates/content/article_form.html:33
|
||||
#: src/content/templates/content/page_form.html:43
|
||||
#: src/content/templates/content/page_form.html:57
|
||||
#: .\content\templates\content\article_form.html:33
|
||||
#: .\content\templates\content\page_form.html:43
|
||||
#: .\content\templates\content\page_form.html:57
|
||||
msgid "English"
|
||||
msgstr "Englisch"
|
||||
|
||||
#: src/content/templates/content/article_form.html:59
|
||||
#: src/content/templates/content/page_form.html:66
|
||||
#: .\content\templates\content\article_form.html:59
|
||||
#: .\content\templates\content\page_form.html:66
|
||||
msgid "reset"
|
||||
msgstr "Zurücksetzen"
|
||||
|
||||
#: src/content/templates/content/article_form.html:60
|
||||
#: src/content/templates/content/page_form.html:67
|
||||
#: .\content\templates\content\article_form.html:60
|
||||
#: .\content\templates\content\page_form.html:67
|
||||
msgid "save"
|
||||
msgstr "Speichern"
|
||||
|
||||
#: src/content/templates/content/page_form.html:5
|
||||
#: src/content/templates/content/page_form.html:35
|
||||
#: .\content\templates\content\page_form.html:5
|
||||
#: .\content\templates\content\page_form.html:35
|
||||
msgid "Edit Page"
|
||||
msgstr "Seite bearbeiten"
|
||||
|
||||
#: src/content/templates/content/page_form.html:5
|
||||
#: src/content/templates/content/page_form.html:19
|
||||
#: src/content/templates/content/page_form.html:35
|
||||
#: .\content\templates\content\page_form.html:5
|
||||
#: .\content\templates\content\page_form.html:19
|
||||
#: .\content\templates\content\page_form.html:35
|
||||
msgid "Add Page"
|
||||
msgstr "Seite hinzufügen"
|
||||
|
||||
#: src/content/templates/content/page_form.html:18
|
||||
#: .\content\templates\content\page_form.html:18
|
||||
msgid "Edit"
|
||||
msgstr "Bearbeiten"
|
||||
|
||||
#: src/content/templates/content/page_form.html:37
|
||||
#: .\content\templates\content\page_form.html:37
|
||||
msgid "HTML Specific"
|
||||
msgstr "HTML spezifisch"
|
||||
|
||||
#: src/content/views.py:53
|
||||
#: .\content\views.py:53
|
||||
msgid "This Category does not exist."
|
||||
msgstr "Diese Kategorie existiert nicht."
|
||||
|
||||
#: src/content/views.py:157
|
||||
#: .\content\views.py:157
|
||||
msgid "Create Article"
|
||||
msgstr "Artikel erstellen"
|
||||
|
||||
#: src/content/views.py:233
|
||||
#: .\content\views.py:233
|
||||
#, python-format
|
||||
msgid "No Page found matching the Path %s"
|
||||
msgstr "Keine Seite unter dem Pfad %s gefunden"
|
||||
|
||||
#: src/content/views.py:262
|
||||
#: .\content\views.py:262
|
||||
#, python-format
|
||||
msgid "No PDF Document found matching the Path %s"
|
||||
msgstr "Kein PDF Dokument unter dem Pfad %s gefunden."
|
||||
|
||||
@@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: kasu.events\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-01-11 22:50+0100\n"
|
||||
"POT-Creation-Date: 2018-05-08 00:17+0200\n"
|
||||
"PO-Revision-Date: 2018-01-12 15:25+0105\n"
|
||||
"Last-Translator: b'Christian Berg <kasu@xendynastie.at>'\n"
|
||||
"Language-Team: Kasu <verein@kasu.at>\n"
|
||||
@@ -19,58 +19,58 @@ msgstr ""
|
||||
"X-Generator: Poedit 1.8.9\n"
|
||||
"X-Translated-Using: django-rosetta 0.7.14\n"
|
||||
|
||||
#: src/events/admin.py:14 src/events/models.py:82
|
||||
#: .\events\admin.py:14 .\events\models.py:82
|
||||
msgid "Event Series"
|
||||
msgstr "Veranstaltungsreihen"
|
||||
|
||||
#: src/events/forms.py:17
|
||||
#: .\events\forms.py:17
|
||||
msgid "Images"
|
||||
msgstr "Bilder"
|
||||
|
||||
#: src/events/forms.py:46
|
||||
#: .\events\forms.py:46
|
||||
msgid "start"
|
||||
msgstr "Beginn"
|
||||
|
||||
#: src/events/forms.py:49
|
||||
#: .\events\forms.py:49
|
||||
msgid "end"
|
||||
msgstr "Ende"
|
||||
|
||||
#: src/events/models.py:52 src/events/models.py:176 src/events/models.py:217
|
||||
#: .\events\models.py:52 .\events\models.py:176 .\events\models.py:217
|
||||
msgid "Name"
|
||||
msgstr "Name"
|
||||
|
||||
#: src/events/models.py:53 src/events/models.py:177 src/events/models.py:225
|
||||
#: .\events\models.py:53 .\events\models.py:177 .\events\models.py:225
|
||||
msgid "Description"
|
||||
msgstr "Beschreibung"
|
||||
|
||||
#: src/events/models.py:55 src/events/templates/events/event_detail.html:29
|
||||
#: src/events/templates/events/event_detail.html:87
|
||||
#: src/events/templates/events/event_list.html:28
|
||||
#: src/events/templates/events/photo_upload.html:13
|
||||
#: .\events\models.py:55 .\events\templates\events\event_detail.html:29
|
||||
#: .\events\templates\events\event_detail.html:87
|
||||
#: .\events\templates\events\event_list.html:28
|
||||
#: .\events\templates\events\photo_upload.html:13
|
||||
msgid "Start"
|
||||
msgstr "Beginn"
|
||||
|
||||
#: src/events/models.py:56 src/events/templates/events/event_detail.html:30
|
||||
#: src/events/templates/events/event_detail.html:89
|
||||
#: .\events\models.py:56 .\events\templates\events\event_detail.html:30
|
||||
#: .\events\templates\events\event_detail.html:89
|
||||
msgid "End"
|
||||
msgstr "Ende"
|
||||
|
||||
#: src/events/models.py:57 src/events/models.py:185
|
||||
#: src/events/templates/events/event_detail.html:34
|
||||
#: src/events/templates/events/event_detail.html:80
|
||||
#: src/events/templates/events/event_detail.html:92
|
||||
#: .\events\models.py:57 .\events\models.py:185
|
||||
#: .\events\templates\events\event_detail.html:34
|
||||
#: .\events\templates\events\event_detail.html:80
|
||||
#: .\events\templates\events\event_detail.html:92
|
||||
msgid "Homepage"
|
||||
msgstr "Homepage"
|
||||
|
||||
#: src/events/models.py:59 src/events/models.py:179 src/events/models.py:219
|
||||
#: .\events\models.py:59 .\events\models.py:179 .\events\models.py:219
|
||||
msgid "Image"
|
||||
msgstr "Bild"
|
||||
|
||||
#: src/events/models.py:66
|
||||
#: .\events\models.py:66
|
||||
msgid "Mahjong Tournament"
|
||||
msgstr "Mahjong Turnier"
|
||||
|
||||
#: src/events/models.py:68
|
||||
#: .\events\models.py:68
|
||||
msgid ""
|
||||
"This event is a tournament, different rules apply for the kyu "
|
||||
"ranking."
|
||||
@@ -78,11 +78,11 @@ msgstr ""
|
||||
"Diese Veranstaltung ist ein Turnier, es gelten andere Regeln für das Kyu "
|
||||
"Ranking."
|
||||
|
||||
#: src/events/models.py:72
|
||||
#: .\events\models.py:72
|
||||
msgid "Mahjong Season"
|
||||
msgstr "Mahjong Saison"
|
||||
|
||||
#: src/events/models.py:83
|
||||
#: .\events\models.py:83
|
||||
msgid ""
|
||||
"Wenn dieser Event zu einer Veranstaltungsreihe gehört werden Ort, "
|
||||
"Beschreibung, Bild und Homepage von dem hier angegebenen Event "
|
||||
@@ -91,245 +91,245 @@ msgstr ""
|
||||
"Wenn dieser Termin zu einer Veranstaltungsreihe gehört werden Ort, "
|
||||
"Beschreibung, Bild und Homepage von dem hier angegebenen Event übernommen."
|
||||
|
||||
#: src/events/models.py:92 src/events/models.py:195 src/events/models.py:248
|
||||
#: .\events\models.py:92 .\events\models.py:195 .\events\models.py:248
|
||||
msgid "first created at"
|
||||
msgstr "erstellt am"
|
||||
|
||||
#: src/events/models.py:97 src/events/models.py:200 src/events/models.py:253
|
||||
#: .\events\models.py:97 .\events\models.py:200 .\events\models.py:253
|
||||
msgid "latest updated at"
|
||||
msgstr "letzte Aktualisierung am"
|
||||
|
||||
#: src/events/models.py:103
|
||||
#: .\events\models.py:103
|
||||
msgid "Event"
|
||||
msgstr "Termin"
|
||||
|
||||
#: src/events/models.py:104
|
||||
#: .\events\models.py:104
|
||||
msgid "Events"
|
||||
msgstr "Termine"
|
||||
|
||||
#: src/events/models.py:117
|
||||
#: .\events\models.py:117
|
||||
msgid "A event can't end before it had started"
|
||||
msgstr "Eine Veranstaltung kann nicht enden bevor sie begonnen hat"
|
||||
|
||||
#: src/events/models.py:186
|
||||
#: .\events\models.py:186
|
||||
msgid "Postal Code"
|
||||
msgstr "Postleitzahl"
|
||||
|
||||
#: src/events/models.py:187
|
||||
#: .\events\models.py:187
|
||||
msgid "Street Address"
|
||||
msgstr "Straße"
|
||||
|
||||
#: src/events/models.py:188
|
||||
#: .\events\models.py:188
|
||||
msgid "Locality"
|
||||
msgstr "Ort"
|
||||
|
||||
#: src/events/models.py:189
|
||||
#: .\events\models.py:189
|
||||
msgid "Country"
|
||||
msgstr "Land"
|
||||
|
||||
#: src/events/models.py:204
|
||||
#: .\events\models.py:204
|
||||
msgid "Venue"
|
||||
msgstr "Veranstaltungsort"
|
||||
|
||||
#: src/events/models.py:205
|
||||
#: .\events\models.py:205
|
||||
msgid "Venues"
|
||||
msgstr "Veranstaltungsorte"
|
||||
|
||||
#: src/events/models.py:232
|
||||
#: .\events\models.py:232
|
||||
msgid "Startpage"
|
||||
msgstr "Startseite"
|
||||
|
||||
#: src/events/models.py:235
|
||||
#: .\events\models.py:235
|
||||
msgid "Display this Photo on the Startpage Teaser"
|
||||
msgstr "Foto als Teaser auf der Startseite verwenden."
|
||||
|
||||
#: src/events/models.py:237
|
||||
#: .\events\models.py:237
|
||||
msgid "Published on"
|
||||
msgstr "Veröffentlicht am"
|
||||
|
||||
#: src/events/models.py:239
|
||||
#: .\events\models.py:239
|
||||
msgid "Number of views"
|
||||
msgstr "Wie oft gesehen"
|
||||
|
||||
#: src/events/models.py:263 src/events/templates/events/event_archive.html:38
|
||||
#: src/events/templates/events/event_list.html:18
|
||||
#: .\events\models.py:263 .\events\templates\events\event_archive.html:38
|
||||
#: .\events\templates\events\event_list.html:18
|
||||
msgid "Event Image"
|
||||
msgstr "Veranstaltungsbild"
|
||||
|
||||
#: src/events/models.py:264
|
||||
#: .\events\models.py:264
|
||||
msgid "Event Images"
|
||||
msgstr "Veranstaltungsbilder"
|
||||
|
||||
#: src/events/templates/events/event_archive.html:5
|
||||
#: src/events/templates/events/event_archive.html:9
|
||||
#: .\events\templates\events\event_archive.html:5
|
||||
#: .\events\templates\events\event_archive.html:9
|
||||
msgid "Event Archive"
|
||||
msgstr "Veranstaltungsarchiv"
|
||||
|
||||
#: src/events/templates/events/event_archive.html:42
|
||||
#: src/events/templates/events/event_detail.html:85
|
||||
#: src/events/templates/events/event_list.html:22
|
||||
#: src/events/templates/events/photo_detail.html:53
|
||||
#: .\events\templates\events\event_archive.html:42
|
||||
#: .\events\templates\events\event_detail.html:85
|
||||
#: .\events\templates\events\event_list.html:22
|
||||
#: .\events\templates\events\photo_detail.html:53
|
||||
msgid "Date"
|
||||
msgstr "Datum"
|
||||
|
||||
#: src/events/templates/events/event_archive.html:47
|
||||
#: .\events\templates\events\event_archive.html:47
|
||||
msgid "Time"
|
||||
msgstr "Zeit"
|
||||
|
||||
#: src/events/templates/events/event_archive.html:49
|
||||
#: src/events/templates/events/photo_upload.html:16
|
||||
#: .\events\templates\events\event_archive.html:49
|
||||
#: .\events\templates\events\photo_upload.html:16
|
||||
msgid "from"
|
||||
msgstr "von"
|
||||
|
||||
#: src/events/templates/events/event_archive.html:49
|
||||
#: src/events/templates/events/photo_upload.html:16
|
||||
#: .\events\templates\events\event_archive.html:49
|
||||
#: .\events\templates\events\photo_upload.html:16
|
||||
msgid "to"
|
||||
msgstr "bis"
|
||||
|
||||
#: src/events/templates/events/event_archive.html:57
|
||||
#: src/events/templates/events/event_detail.html:31
|
||||
#: src/events/templates/events/event_detail.html:72
|
||||
#: src/events/templates/events/event_list.html:32
|
||||
#: src/events/templates/events/photo_upload.html:23
|
||||
#: .\events\templates\events\event_archive.html:57
|
||||
#: .\events\templates\events\event_detail.html:31
|
||||
#: .\events\templates\events\event_detail.html:72
|
||||
#: .\events\templates\events\event_list.html:32
|
||||
#: .\events\templates\events\photo_upload.html:23
|
||||
msgid "Location"
|
||||
msgstr "Ort"
|
||||
|
||||
#: src/events/templates/events/event_archive.html:58
|
||||
#: src/events/templates/events/event_list.html:35
|
||||
#: src/events/templates/events/photo_upload.html:25
|
||||
#: src/events/templates/events/photo_upload.html:26
|
||||
#: .\events\templates\events\event_archive.html:58
|
||||
#: .\events\templates\events\event_list.html:35
|
||||
#: .\events\templates\events\photo_upload.html:25
|
||||
#: .\events\templates\events\photo_upload.html:26
|
||||
msgid "Comments"
|
||||
msgstr "Kommentare"
|
||||
|
||||
#: src/events/templates/events/event_archive.html:59
|
||||
#: src/events/templates/events/event_detail.html:36
|
||||
#: src/events/templates/events/event_detail.html:48
|
||||
#: src/events/templates/events/photo_list.html:4
|
||||
#: src/events/templates/events/photo_upload.html:28
|
||||
#: src/events/templates/events/photo_upload.html:29
|
||||
#: .\events\templates\events\event_archive.html:59
|
||||
#: .\events\templates\events\event_detail.html:36
|
||||
#: .\events\templates\events\event_detail.html:48
|
||||
#: .\events\templates\events\photo_list.html:4
|
||||
#: .\events\templates\events\photo_upload.html:28
|
||||
#: .\events\templates\events\photo_upload.html:29
|
||||
msgid "Photos"
|
||||
msgstr "Fotos"
|
||||
|
||||
#: src/events/templates/events/event_archive.html:60
|
||||
#: src/events/templates/events/event_archive.html:61
|
||||
#: src/events/templates/events/event_detail.html:35
|
||||
#: src/events/templates/events/event_detail.html:51
|
||||
#: .\events\templates\events\event_archive.html:60
|
||||
#: .\events\templates\events\event_archive.html:61
|
||||
#: .\events\templates\events\event_detail.html:35
|
||||
#: .\events\templates\events\event_detail.html:51
|
||||
msgid "Hanchans"
|
||||
msgstr "Hanchans"
|
||||
|
||||
#: src/events/templates/events/event_detail.html:37
|
||||
#: .\events\templates\events\event_detail.html:37
|
||||
msgid "tourney"
|
||||
msgstr "Turnier"
|
||||
|
||||
#: src/events/templates/events/event_detail.html:37
|
||||
#: .\events\templates\events\event_detail.html:37
|
||||
msgid "other rules apply here"
|
||||
msgstr "hier gelten andere Regeln"
|
||||
|
||||
#: src/events/templates/events/event_detail.html:45
|
||||
#: .\events\templates\events\event_detail.html:45
|
||||
msgid "Info"
|
||||
msgstr "Info"
|
||||
|
||||
#: src/events/templates/events/event_detail.html:54
|
||||
#: .\events\templates\events\event_detail.html:54
|
||||
msgid "Mai-Star Games"
|
||||
msgstr "Mai-Star Spiele"
|
||||
|
||||
#: src/events/templates/events/event_detail.html:57
|
||||
#: .\events\templates\events\event_detail.html:57
|
||||
msgid "Event Ranking"
|
||||
msgstr "Veranstaltungs Wertung"
|
||||
|
||||
#: src/events/templates/events/event_detail.html:100
|
||||
#: .\events\templates\events\event_detail.html:100
|
||||
msgid "Share on Facebook"
|
||||
msgstr "Auf Facebook teilen"
|
||||
|
||||
#: src/events/templates/events/event_detail.html:104
|
||||
#: .\events\templates\events\event_detail.html:104
|
||||
msgid "Share on Google+"
|
||||
msgstr "Auf Google+ teilen"
|
||||
|
||||
#: src/events/templates/events/event_detail.html:109
|
||||
#: .\events\templates\events\event_detail.html:109
|
||||
msgid "Share on Twitter"
|
||||
msgstr "Auf Twitter teilen"
|
||||
|
||||
#: src/events/templates/events/event_detail.html:113
|
||||
#: .\events\templates\events\event_detail.html:113
|
||||
msgid "Show on Google Maps"
|
||||
msgstr "Auf Google Maps zeigen"
|
||||
|
||||
#: src/events/templates/events/event_detail.html:127
|
||||
#: src/events/templates/events/event_form.html:9 src/events/views.py:62
|
||||
#: .\events\templates\events\event_detail.html:127
|
||||
#: .\events\templates\events\event_form.html:9 .\events\views.py:62
|
||||
msgid "Edit Event"
|
||||
msgstr "Termin bearbeiten"
|
||||
|
||||
#: src/events/templates/events/event_detail.html:131
|
||||
#: .\events\templates\events\event_detail.html:131
|
||||
msgid "Add Dates"
|
||||
msgstr "Termine hinzufügen"
|
||||
|
||||
#: src/events/templates/events/event_form.html:9
|
||||
#: src/events/templates/events/page.html:9 src/events/views.py:64
|
||||
#: .\events\templates\events\event_form.html:9
|
||||
#: .\events\templates\events\page.html:9 .\events\views.py:64
|
||||
msgid "Add Event"
|
||||
msgstr "Neuer Termin"
|
||||
|
||||
#: src/events/templates/events/event_form.html:18
|
||||
#: src/events/templates/events/photo_list.html:35
|
||||
#: .\events\templates\events\event_form.html:18
|
||||
#: .\events\templates\events\photo_list.html:35
|
||||
msgid "reset"
|
||||
msgstr "Zurücksetzen"
|
||||
|
||||
#: src/events/templates/events/event_form.html:19
|
||||
#: src/events/templates/events/eventseries_form.html:25
|
||||
#: .\events\templates\events\event_form.html:19
|
||||
#: .\events\templates\events\eventseries_form.html:25
|
||||
msgid "save"
|
||||
msgstr "Speichern"
|
||||
|
||||
#: src/events/templates/events/event_list.html:4
|
||||
#: src/events/templates/events/event_list.html:5
|
||||
#: .\events\templates\events\event_list.html:4
|
||||
#: .\events\templates\events\event_list.html:5
|
||||
msgid "Upcoming Events"
|
||||
msgstr "Bevorstehende Veranstaltungen"
|
||||
|
||||
#: src/events/templates/events/eventseries_form.html:24
|
||||
#: .\events\templates\events\eventseries_form.html:24
|
||||
msgid "back"
|
||||
msgstr "Zurück"
|
||||
|
||||
#: src/events/templates/events/photo_confirm_delete.html:17
|
||||
#: .\events\templates\events\photo_confirm_delete.html:17
|
||||
msgid "Cancel"
|
||||
msgstr "Abbrechen"
|
||||
|
||||
#: src/events/templates/events/photo_confirm_delete.html:21
|
||||
#: src/events/templates/events/photo_list.html:21
|
||||
#: .\events\templates\events\photo_confirm_delete.html:21
|
||||
#: .\events\templates\events\photo_list.html:21
|
||||
msgid "Delete"
|
||||
msgstr "Löschen"
|
||||
|
||||
#: src/events/templates/events/photo_detail.html:44
|
||||
#: .\events\templates\events\photo_detail.html:44
|
||||
msgid "previous"
|
||||
msgstr "Zurück"
|
||||
|
||||
#: src/events/templates/events/photo_detail.html:52
|
||||
#: .\events\templates\events\photo_detail.html:52
|
||||
msgid "Photographer"
|
||||
msgstr "Fotograf"
|
||||
|
||||
#: src/events/templates/events/photo_detail.html:58
|
||||
#: .\events\templates\events\photo_detail.html:58
|
||||
msgid "share on"
|
||||
msgstr "Teile auf"
|
||||
|
||||
#: src/events/templates/events/photo_detail.html:81
|
||||
#: .\events\templates\events\photo_detail.html:81
|
||||
msgid "download"
|
||||
msgstr "Herunterladen"
|
||||
|
||||
#: src/events/templates/events/photo_detail.html:82
|
||||
#: .\events\templates\events\photo_detail.html:82
|
||||
msgid "Rotate counter clockwise"
|
||||
msgstr "mit dem Uhrzeiger drehen"
|
||||
|
||||
#: src/events/templates/events/photo_detail.html:83
|
||||
#: .\events\templates\events\photo_detail.html:83
|
||||
msgid "Rotate clockwise"
|
||||
msgstr "gegen den Uhrzeiger drehen"
|
||||
|
||||
#: src/events/templates/events/photo_detail.html:84
|
||||
#: .\events\templates\events\photo_detail.html:84
|
||||
msgid "Save"
|
||||
msgstr "Speichern"
|
||||
|
||||
#: src/events/templates/events/photo_list.html:36
|
||||
#: src/events/templates/events/photo_upload.html:35
|
||||
#: src/events/templates/events/photo_upload.html:49
|
||||
#: .\events\templates\events\photo_list.html:36
|
||||
#: .\events\templates\events\photo_upload.html:35
|
||||
#: .\events\templates\events\photo_upload.html:49
|
||||
msgid "Upload"
|
||||
msgstr "Hochladen"
|
||||
|
||||
#: src/events/views.py:149
|
||||
#: .\events\views.py:150
|
||||
msgid "Event does not exist"
|
||||
msgstr "Veranstaltung gibt es nicht"
|
||||
|
||||
|
||||
@@ -80,7 +80,8 @@ class EventGallery(generic.ListView):
|
||||
event_series__isnull=True,
|
||||
photo_count__gt=0
|
||||
)
|
||||
paginate_by = 12
|
||||
queryset = queryset.order_by('-start')
|
||||
paginate_by = 24
|
||||
|
||||
|
||||
class EventListIcal(generic.View):
|
||||
|
||||
@@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: kasu.utils\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-01-11 22:50+0100\n"
|
||||
"POT-Creation-Date: 2018-05-08 00:17+0200\n"
|
||||
"PO-Revision-Date: 2016-09-28 00:24+0200\n"
|
||||
"Last-Translator: Christian Berg <xeniac.at@gmail.com>\n"
|
||||
"Language-Team: Kasu <verein@kasu.at>\n"
|
||||
@@ -19,175 +19,163 @@ msgstr ""
|
||||
"X-Generator: Poedit 1.8.9\n"
|
||||
"X-Translated-Using: django-rosetta 0.7.6\n"
|
||||
|
||||
#: src/kasu/settings.py:158
|
||||
#: .\kasu\settings.py:141
|
||||
msgid "German"
|
||||
msgstr "Deutsch"
|
||||
|
||||
#: src/kasu/settings.py:158
|
||||
#: .\kasu\settings.py:141
|
||||
msgid "English"
|
||||
msgstr "Englisch"
|
||||
|
||||
#: src/kasu/templates/404.html:8
|
||||
#: .\kasu\templates\404.html:8
|
||||
msgid "The page your requested does not exist on this server."
|
||||
msgstr "Die angeforderte Seite existiert auf diesem Server nicht."
|
||||
|
||||
#: src/kasu/templates/base.html:22
|
||||
#: .\kasu\templates\base.html:22
|
||||
msgid "Current News"
|
||||
msgstr "Aktuelle Neuigkeiten"
|
||||
|
||||
#: src/kasu/templates/base.html:24 src/kasu/templates/index.html:40
|
||||
#: .\kasu\templates\base.html:24 .\kasu\templates\index.html:40
|
||||
msgid "Recent Comments"
|
||||
msgstr "Kürzliche Kommentare"
|
||||
|
||||
#: src/kasu/templates/base.html:45
|
||||
#: .\kasu\templates\base.html:45
|
||||
msgid "Menu"
|
||||
msgstr "Menü"
|
||||
|
||||
#: src/kasu/templates/base.html:69
|
||||
#: .\kasu\templates\base.html:69
|
||||
msgid "Current Event"
|
||||
msgstr "Aktuelle Veranstaltung"
|
||||
|
||||
#: src/kasu/templates/base.html:72
|
||||
#: .\kasu\templates\base.html:72
|
||||
msgid "Since"
|
||||
msgstr "seit"
|
||||
|
||||
#: src/kasu/templates/base.html:73 src/kasu/templates/base.html:85
|
||||
#: .\kasu\templates\base.html:73 .\kasu\templates\base.html:87
|
||||
msgid "Start"
|
||||
msgstr "Beginn"
|
||||
|
||||
#: src/kasu/templates/base.html:76 src/kasu/templates/base.html:88
|
||||
#: .\kasu\templates\base.html:76 .\kasu\templates\base.html:90
|
||||
msgid "Location"
|
||||
msgstr "Ort"
|
||||
|
||||
#: src/kasu/templates/base.html:79 src/kasu/templates/base.html:90
|
||||
#: .\kasu\templates\base.html:81 .\kasu\templates\base.html:94
|
||||
msgid "More Details"
|
||||
msgstr "Mehr Details"
|
||||
|
||||
#: src/kasu/templates/base.html:81
|
||||
#: .\kasu\templates\base.html:83
|
||||
msgid "Next Event"
|
||||
msgstr "Nächste Veranstaltung"
|
||||
|
||||
#: src/kasu/templates/base.html:84
|
||||
#: .\kasu\templates\base.html:86
|
||||
msgid "in"
|
||||
msgstr "in"
|
||||
|
||||
#: src/kasu/templates/base.html:93
|
||||
#: .\kasu\templates\base.html:97
|
||||
msgid "Upcoming events"
|
||||
msgstr "Bevorstehende Veranstaltungen"
|
||||
|
||||
#: src/kasu/templates/base.html:143
|
||||
#: .\kasu\templates\base.html:147
|
||||
msgid "Add Subpage"
|
||||
msgstr "Unterseite Hinzufügen"
|
||||
|
||||
#: src/kasu/templates/base.html:148
|
||||
#: .\kasu\templates\base.html:152
|
||||
msgid "Edit Page"
|
||||
msgstr "Seite bearbeiten"
|
||||
|
||||
#: src/kasu/templates/base.html:156
|
||||
#: .\kasu\templates\base.html:160
|
||||
msgid "Imprint"
|
||||
msgstr "Impressum"
|
||||
|
||||
#: src/kasu/templates/base.html:157
|
||||
#: .\kasu\templates\base.html:161
|
||||
msgid "contact"
|
||||
msgstr "Kontakt"
|
||||
|
||||
#: src/kasu/templates/base.html:162
|
||||
#: .\kasu\templates\base.html:166
|
||||
msgid "Language"
|
||||
msgstr "Sprache"
|
||||
|
||||
#: src/kasu/templates/base.html:171
|
||||
#: .\kasu\templates\base.html:175
|
||||
msgid "Go"
|
||||
msgstr "Los"
|
||||
|
||||
#: src/kasu/templates/base.html:176
|
||||
#: .\kasu\templates\base.html:180
|
||||
msgid "Logged in as"
|
||||
msgstr "Angemeldet als"
|
||||
|
||||
#: src/kasu/templates/base.html:178
|
||||
#: .\kasu\templates\base.html:182
|
||||
msgid "Admin"
|
||||
msgstr "Admin"
|
||||
|
||||
#: src/kasu/templates/base.html:179
|
||||
#: .\kasu\templates\base.html:183
|
||||
msgid "Logout"
|
||||
msgstr "Abmelden"
|
||||
|
||||
#: src/kasu/templates/base.html:181
|
||||
#: .\kasu\templates\base.html:185
|
||||
msgid "no user logged in"
|
||||
msgstr "Niemand angemeldet"
|
||||
|
||||
#: src/kasu/templates/base.html:182 src/kasu/templates/comments/form.html:43
|
||||
#: .\kasu\templates\base.html:186 .\kasu\templates\comments\form.html:43
|
||||
msgid "register"
|
||||
msgstr "Registrieren"
|
||||
|
||||
#: src/kasu/templates/base.html:183 src/kasu/templates/comments/form.html:44
|
||||
#: .\kasu\templates\base.html:187 .\kasu\templates\comments\form.html:44
|
||||
msgid "login"
|
||||
msgstr "anmelden"
|
||||
|
||||
#: src/kasu/templates/base.html:185
|
||||
msgid "Login with Facebook"
|
||||
msgstr "über Facebook anmelden"
|
||||
|
||||
#: src/kasu/templates/base.html:187
|
||||
msgid "Login with Twitter"
|
||||
msgstr "über Twitter anmelden"
|
||||
|
||||
#: src/kasu/templates/base.html:189
|
||||
msgid "Login with Google"
|
||||
msgstr "über Google anmelden"
|
||||
|
||||
#: src/kasu/templates/comments/form.html:5
|
||||
#: .\kasu\templates\comments\form.html:5
|
||||
msgid "New Comment"
|
||||
msgstr "Neuer Kommentar"
|
||||
|
||||
#: src/kasu/templates/comments/form.html:20
|
||||
#: .\kasu\templates\comments\form.html:20
|
||||
msgid "now"
|
||||
msgstr "Jetzt"
|
||||
|
||||
#: src/kasu/templates/comments/form.html:25
|
||||
#: .\kasu\templates\comments\form.html:25
|
||||
msgid "Preview"
|
||||
msgstr "Vorschau"
|
||||
|
||||
#: src/kasu/templates/comments/form.html:26
|
||||
#: .\kasu\templates\comments\form.html:26
|
||||
msgid "Post"
|
||||
msgstr "Schreiben"
|
||||
|
||||
#: src/kasu/templates/comments/form.html:34
|
||||
#: .\kasu\templates\comments\form.html:34
|
||||
msgid "not logged in"
|
||||
msgstr "Nicht angemeldet"
|
||||
|
||||
#: src/kasu/templates/comments/form.html:38
|
||||
#: .\kasu\templates\comments\form.html:38
|
||||
msgid "Register now, or Login to leave a comment here."
|
||||
msgstr "Jetzt registrieren, oder anmelden um einen Kommentar zu schreiben."
|
||||
|
||||
#: src/kasu/templates/comments/list.html:2 src/kasu/templates/index.html:25
|
||||
#: .\kasu\templates\comments\list.html:2 .\kasu\templates\index.html:25
|
||||
msgid "Comments"
|
||||
msgstr "Kommentare"
|
||||
|
||||
#: src/kasu/templates/comments/posted.html:4
|
||||
#: src/kasu/templates/comments/posted.html:7
|
||||
#: .\kasu\templates\comments\posted.html:4
|
||||
#: .\kasu\templates\comments\posted.html:7
|
||||
msgid "Thank you for your comment"
|
||||
msgstr "Danke für deinen Kommentar."
|
||||
|
||||
#: src/kasu/templates/comments/preview.html:4
|
||||
#: src/kasu/templates/comments/preview.html:6
|
||||
#: .\kasu\templates\comments\preview.html:4
|
||||
#: .\kasu\templates\comments\preview.html:6
|
||||
msgid "Preview your comment"
|
||||
msgstr "Vorschau deines Kommentars"
|
||||
|
||||
#: src/kasu/templates/comments/preview.html:10
|
||||
#: .\kasu\templates\comments\preview.html:10
|
||||
msgid "Please correct the error below"
|
||||
msgid_plural "Please correct the errors below"
|
||||
msgstr[0] "Bitte den Fehler weiter unten beheben"
|
||||
msgstr[1] "Bitte die Fehler weiter unten beheben"
|
||||
|
||||
#: src/kasu/templates/index.html:4
|
||||
#: .\kasu\templates\index.html:4
|
||||
msgid "traditional Asian game culture"
|
||||
msgstr "traditionelle asiatische Spielkultur"
|
||||
|
||||
#: src/kasu/templates/index.html:33
|
||||
#: .\kasu\templates\index.html:33
|
||||
msgid "Read More"
|
||||
msgstr "Mehr lesen"
|
||||
|
||||
#: src/kasu/templates/index.html:47
|
||||
#: .\kasu\templates\index.html:47
|
||||
#, python-format
|
||||
msgid ""
|
||||
"\n"
|
||||
@@ -204,26 +192,35 @@ msgstr ""
|
||||
" <time datetime=\"%(submit_date)s\">%(since)s</time>\n"
|
||||
" "
|
||||
|
||||
#: src/kasu/templates/index.html:59
|
||||
#: .\kasu\templates\index.html:59
|
||||
msgid "Kasu in the social network"
|
||||
msgstr "Kasu im sozialem Netzwerk"
|
||||
|
||||
#: src/kasu/templates/index.html:62 src/kasu/templates/index.html:65
|
||||
#: .\kasu\templates\index.html:62 .\kasu\templates\index.html:65
|
||||
msgid "Visit us on"
|
||||
msgstr "Besuche uns auf"
|
||||
|
||||
#: src/kasu/templates/index.html:74
|
||||
#: .\kasu\templates\index.html:74
|
||||
msgid "Add Article"
|
||||
msgstr "Artikel hinzufügen"
|
||||
|
||||
#: src/kasu/templates/paginator.html:8
|
||||
#: .\kasu\templates\paginator.html:8
|
||||
msgid "Previous"
|
||||
msgstr "Vorherige"
|
||||
|
||||
#: src/kasu/templates/paginator.html:20
|
||||
#: .\kasu\templates\paginator.html:20
|
||||
msgid "Next"
|
||||
msgstr "Nächste"
|
||||
|
||||
#~ msgid "Login with Facebook"
|
||||
#~ msgstr "über Facebook anmelden"
|
||||
|
||||
#~ msgid "Login with Twitter"
|
||||
#~ msgstr "über Twitter anmelden"
|
||||
|
||||
#~ msgid "Login with Google"
|
||||
#~ msgstr "über Google anmelden"
|
||||
|
||||
#~ msgid "United Kingdom"
|
||||
#~ msgstr "Vereinigtes Königreich"
|
||||
|
||||
|
||||
@@ -49,7 +49,6 @@ PREREQ_APPS = [
|
||||
'ckeditor',
|
||||
'ckeditor_uploader',
|
||||
'easy_thumbnails',
|
||||
'social_django',
|
||||
]
|
||||
PROJECT_APPS = [
|
||||
'kasu',
|
||||
@@ -103,8 +102,6 @@ TEMPLATES = [
|
||||
'django.contrib.messages.context_processors.messages',
|
||||
'django.contrib.messages.context_processors.messages',
|
||||
'events.context_processors.events_overview',
|
||||
'social_django.context_processors.backends',
|
||||
'social_django.context_processors.login_redirect'
|
||||
],
|
||||
'loaders': [
|
||||
('django.template.loaders.cached.Loader', [
|
||||
@@ -132,24 +129,10 @@ DEFAULT_FROM_EMAIL = ""
|
||||
# Login Settings
|
||||
ACCOUNT_ACTIVATION_DAYS = 5
|
||||
AUTH_USER_MODEL = 'membership.Membership'
|
||||
AUTHENTICATION_BACKENDS = ('social_core.backends.facebook.FacebookOAuth2',
|
||||
'social_core.backends.google.GoogleOAuth2',
|
||||
'social_core.backends.twitter.TwitterOAuth',
|
||||
'django.contrib.auth.backends.ModelBackend',)
|
||||
AUTHENTICATION_BACKENDS = ('django.contrib.auth.backends.ModelBackend',)
|
||||
LOGIN_URL = '/membership/login/'
|
||||
LOGIN_ERROR_URL = '/membership/login/error/'
|
||||
LOGIN_REDIRECT_URL = '/users/'
|
||||
SOCIAL_AUTH_CHANGE_SIGNAL_ONLY = False
|
||||
SOCIAL_AUTH_ENABLED_BACKENDS = ('facebook-oauth2', 'google-oauth2', 'twitter')
|
||||
SOCIAL_AUTH_NEW_USER_REDIRECT_URL = '/users/'
|
||||
SOCIAL_AUTH_SLUGIFY_USERNAMES = True
|
||||
SOCIAL_AUTH_FACEBOOK_KEY = ''
|
||||
SOCIAL_AUTH_FACEBOOK_SECRET = ''
|
||||
SOCIAL_AUTH_FACEBOOK_SCOPE = ['user_about_me', 'email']
|
||||
SOCIAL_AUTH_GOOGLE_OAUTH2_KEY = ''
|
||||
SOCIAL_AUTH_GOOGLE_OAUTH2_SECRET = ''
|
||||
SOCIAL_AUTH_TWITTER_KEY = ''
|
||||
SOCIAL_AUTH_TWITTER_SECRET = ''
|
||||
|
||||
# Localization
|
||||
USE_I18N = True
|
||||
|
||||
@@ -4,10 +4,12 @@
|
||||
_paq.push(['trackPageView']);
|
||||
_paq.push(['enableLinkTracking']);
|
||||
(function() {
|
||||
var u="//kasu.at/piwik/";
|
||||
var u="/piwik/";
|
||||
_paq.push(['setTrackerUrl', u+'piwik.php']);
|
||||
_paq.push(['setSiteId', '1']);
|
||||
_paq.push(['disableCookies']);
|
||||
_paq.push(['trackPageView']);
|
||||
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
|
||||
g.type='text/javascript'; g.async=true; g.defer=true; g.src=u+'piwik.js'; s.parentNode.insertBefore(g,s);
|
||||
})();
|
||||
/* End Piwik Code */
|
||||
/* End Piwik Code */
|
||||
|
||||
@@ -73,7 +73,9 @@
|
||||
<li><span class="fa-li fa fa-calendar"></span><strong>{% trans "Start" %}:</strong>
|
||||
<time datetime="{{current_event.start|date:'c'}}">{{current_event.start|date:'DATETIME_FORMAT'}}</time>
|
||||
</li>
|
||||
<li><span class="fa-li fa fa-map-marker"></span><strong>{% trans "Location" %}:</strong> {{ current_event.location }}</li>
|
||||
<li><span class="fa-li fa fa-map-marker"></span><strong>{% trans "Location" %}:</strong> {{ current_event.location }}
|
||||
- {{current_event.location.street_address}}, {{current_event.location.postal_code}} {{current_event.location.locality}}
|
||||
</li>
|
||||
</ul>
|
||||
<div class="right"><a class="button" href="{{current_event.get_absolute_url}}">
|
||||
{% trans "More Details" %} <span class="fa fa-arrow-right"></span></a></div>
|
||||
@@ -85,7 +87,9 @@
|
||||
<li><span class="fa-li fa fa-calendar"></span><strong>{% trans "Start" %}:</strong>
|
||||
<time datetime="{{next_event.start|date:'c'}}">{{next_event.start|date:'DATETIME_FORMAT' }}</time>
|
||||
</li>
|
||||
<li><span class="fa-li fa fa-map-marker"></span><strong>{% trans "Location" %}:</strong> {{ next_event.location }}</li>
|
||||
<li><span class="fa-li fa fa-map-marker"></span><strong>{% trans "Location" %}:</strong> {{ next_event.location }}
|
||||
- {{next_event.location.street_address}}, {{next_event.location.postal_code}} {{next_event.location.locality}}
|
||||
</li>
|
||||
</ul>
|
||||
<div class="right"><a class="button" href="{{next_event.get_absolute_url}}">{% trans "More Details" %}
|
||||
<span class="fa fa-arrow-right"></span></a></div>
|
||||
@@ -181,12 +185,6 @@
|
||||
{% trans "no user logged in" %} -
|
||||
<a rel="nofollow" href="{% url 'membership-register' %}">{% trans "register" %}</a>
|
||||
<a rel="nofollow" href="{% url 'login' %}?next={{ request.path_info }}">{% trans "login" %}</a>
|
||||
<a rel="nofollow" href="{% url 'social:begin' 'facebook' %}" class="fa fa-facebook"
|
||||
title="{% trans 'Login with Facebook' %}" aria-label="{% trans 'Login with Facebook' %}"></a>
|
||||
<a rel="nofollow" href="{% url 'social:begin' 'twitter' %}" class="fa fa-twitter"
|
||||
title="{% trans 'Login with Twitter' %}" aria-label="{% trans 'Login with Twitter' %}"></a>
|
||||
<a rel="nofollow" href="{% url 'social:begin' 'google-oauth2' %}" class="fa fa-google"
|
||||
title="{% trans 'Login with Google' %}" aria-label="{% trans 'Login with Google' %}"></a>
|
||||
{% endif %}
|
||||
</nav>
|
||||
</body>
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
<label {% if field.html_name != 'recaptcha' %} for="id_{{ field.html_name}}" {% endif %}
|
||||
class="field_name {{ field.css_classes }}">{{ field.label}}</label>
|
||||
{{ field }}
|
||||
{% if field.help_text and not field.field.widget.input_type %}
|
||||
{{field.help_text}}
|
||||
{% if field.field.widget.input_type == 'checkbox' %}
|
||||
<label for="id_{{field.name}}">{{field.help_text|safe}}</label>
|
||||
{% elif field.help_text %}
|
||||
<p class="help_text">{{field.help_text}}</p>
|
||||
{% endif %}
|
||||
|
||||
@@ -62,7 +62,6 @@ urlpatterns = [ # Ignore PyLintBear (C0103)
|
||||
url(r'^(?P<path>[\-\d\w\/]+)\.html$',
|
||||
views.PageHtml.as_view(), name='view-page'),
|
||||
url(r'^(?P<path>[\-\d\w\/]+)\.pdf$', views.PagePdf.as_view()),
|
||||
url('', include('social_django.urls', namespace='social'))
|
||||
]
|
||||
|
||||
if settings.DEBUG:
|
||||
|
||||
@@ -7,8 +7,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: kasu.mahjong_ranking\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-01-11 22:50+0100\n"
|
||||
"PO-Revision-Date: 2018-01-12 15:23+0105\n"
|
||||
"POT-Creation-Date: 2018-05-08 00:17+0200\n"
|
||||
"PO-Revision-Date: 2018-05-08 00:20+0105\n"
|
||||
"Last-Translator: b'Christian Berg <kasu@xendynastie.at>'\n"
|
||||
"Language-Team: Kasu <verein@kasu.at>\n"
|
||||
"Language: de\n"
|
||||
@@ -17,387 +17,390 @@ msgstr ""
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Generator: Poedit 1.8.9\n"
|
||||
"X-Translated-Using: django-rosetta 0.7.14\n"
|
||||
"X-Translated-Using: django-rosetta 0.8.1\n"
|
||||
|
||||
#: src/mahjong_ranking/admin.py:24
|
||||
#: .\mahjong_ranking\admin.py:24
|
||||
msgid "Recalculate"
|
||||
msgstr "Neuberechnen"
|
||||
|
||||
#: src/mahjong_ranking/admin.py:34
|
||||
#: .\mahjong_ranking\admin.py:34
|
||||
msgid "Confirm"
|
||||
msgstr "Bestätigen"
|
||||
|
||||
#: src/mahjong_ranking/admin.py:44
|
||||
#: .\mahjong_ranking\admin.py:44
|
||||
msgid "Set unconfirmed"
|
||||
msgstr "Als unbestätigt markieren"
|
||||
|
||||
#: src/mahjong_ranking/forms.py:22
|
||||
#: .\mahjong_ranking\forms.py:22
|
||||
msgid "start"
|
||||
msgstr "Beginn"
|
||||
|
||||
#: src/mahjong_ranking/models.py:91
|
||||
#: src/mahjong_ranking/templates/mahjong_ranking/player_dan_score.html:14
|
||||
#: src/mahjong_ranking/templates/mahjong_ranking/player_invalid_score.html:13
|
||||
#: src/mahjong_ranking/templates/mahjong_ranking/player_kyu_score.html:15
|
||||
#: src/mahjong_ranking/templates/mahjong_ranking/player_ladder_score.html:15
|
||||
#: src/mahjong_ranking/templates/mahjong_ranking/seasonranking_list.html:10
|
||||
#: .\mahjong_ranking\models.py:91
|
||||
#: .\mahjong_ranking\templates\mahjong_ranking\player_dan_score.html:14
|
||||
#: .\mahjong_ranking\templates\mahjong_ranking\player_invalid_score.html:13
|
||||
#: .\mahjong_ranking\templates\mahjong_ranking\player_kyu_score.html:15
|
||||
#: .\mahjong_ranking\templates\mahjong_ranking\player_ladder_score.html:15
|
||||
#: .\mahjong_ranking\templates\mahjong_ranking\seasonranking_list.html:10
|
||||
msgid "Start"
|
||||
msgstr "Beginn"
|
||||
|
||||
#: src/mahjong_ranking/models.py:92
|
||||
#: .\mahjong_ranking\models.py:92
|
||||
msgid "This is crucial to get the right Hanchans that scores"
|
||||
msgstr "Wichtig damit die richtigen Hanchans in die Wertung kommen."
|
||||
|
||||
#: src/mahjong_ranking/models.py:99
|
||||
#: .\mahjong_ranking\models.py:99
|
||||
msgid "Player 1"
|
||||
msgstr "Spieler 1"
|
||||
|
||||
#: src/mahjong_ranking/models.py:100 src/mahjong_ranking/models.py:102
|
||||
#: src/mahjong_ranking/models.py:119 src/mahjong_ranking/models.py:121
|
||||
#: src/mahjong_ranking/models.py:138 src/mahjong_ranking/models.py:140
|
||||
#: src/mahjong_ranking/models.py:157 src/mahjong_ranking/models.py:159
|
||||
#: src/mahjong_ranking/templates/mahjong_ranking/eventhanchan_list.html:19
|
||||
#: src/mahjong_ranking/templates/mahjong_ranking/eventranking_list.html:21
|
||||
#: src/mahjong_ranking/templates/mahjong_ranking/hanchan_confirm_delete.html:16
|
||||
#: src/mahjong_ranking/templates/mahjong_ranking/hanchan_form.html:19
|
||||
#: src/mahjong_ranking/templates/mahjong_ranking/kyudanranking_list.html:35
|
||||
#: src/mahjong_ranking/templates/mahjong_ranking/seasonranking_list.html:32
|
||||
#: .\mahjong_ranking\models.py:100 .\mahjong_ranking\models.py:102
|
||||
#: .\mahjong_ranking\models.py:119 .\mahjong_ranking\models.py:121
|
||||
#: .\mahjong_ranking\models.py:138 .\mahjong_ranking\models.py:140
|
||||
#: .\mahjong_ranking\models.py:157 .\mahjong_ranking\models.py:159
|
||||
#: .\mahjong_ranking\templates\mahjong_ranking\eventhanchan_list.html:19
|
||||
#: .\mahjong_ranking\templates\mahjong_ranking\eventranking_list.html:21
|
||||
#: .\mahjong_ranking\templates\mahjong_ranking\hanchan_confirm_delete.html:16
|
||||
#: .\mahjong_ranking\templates\mahjong_ranking\hanchan_form.html:19
|
||||
#: .\mahjong_ranking\templates\mahjong_ranking\kyudanranking_list.html:30
|
||||
#: .\mahjong_ranking\templates\mahjong_ranking\seasonranking_list.html:31
|
||||
msgid "Score"
|
||||
msgstr "Punkte"
|
||||
|
||||
#: src/mahjong_ranking/models.py:112 src/mahjong_ranking/models.py:131
|
||||
#: src/mahjong_ranking/models.py:150 src/mahjong_ranking/models.py:169
|
||||
#: src/mahjong_ranking/models.py:171
|
||||
#: src/mahjong_ranking/templates/mahjong_ranking/hanchan_form.html:20
|
||||
#: src/mahjong_ranking/templates/mahjong_ranking/player_dan_score.html:18
|
||||
#: src/mahjong_ranking/templates/mahjong_ranking/player_invalid_score.html:17
|
||||
#: .\mahjong_ranking\models.py:112 .\mahjong_ranking\models.py:131
|
||||
#: .\mahjong_ranking\models.py:150 .\mahjong_ranking\models.py:169
|
||||
#: .\mahjong_ranking\models.py:171
|
||||
#: .\mahjong_ranking\templates\mahjong_ranking\hanchan_form.html:20
|
||||
#: .\mahjong_ranking\templates\mahjong_ranking\player_dan_score.html:18
|
||||
#: .\mahjong_ranking\templates\mahjong_ranking\player_invalid_score.html:17
|
||||
msgid "Comment"
|
||||
msgstr "Kommentar"
|
||||
|
||||
#: src/mahjong_ranking/models.py:118
|
||||
#: .\mahjong_ranking\models.py:118
|
||||
msgid "Player 2"
|
||||
msgstr "Spieler 2"
|
||||
|
||||
#: src/mahjong_ranking/models.py:137
|
||||
#: .\mahjong_ranking\models.py:137
|
||||
msgid "Player 3"
|
||||
msgstr "Spieler 3"
|
||||
|
||||
#: src/mahjong_ranking/models.py:156
|
||||
#: .\mahjong_ranking\models.py:156
|
||||
msgid "Player 4"
|
||||
msgstr "Spieler 4"
|
||||
|
||||
#: src/mahjong_ranking/models.py:173
|
||||
#: .\mahjong_ranking\models.py:173
|
||||
msgid "Has been Confirmed"
|
||||
msgstr "Wurde bestätigt"
|
||||
|
||||
#: src/mahjong_ranking/models.py:174
|
||||
#: .\mahjong_ranking\models.py:174
|
||||
msgid "Only valid and confirmed Hanchans will be counted in the rating."
|
||||
msgstr "Nur gültige und bestätigte Hanchans kommen in die Wertung."
|
||||
|
||||
#: src/mahjong_ranking/models.py:179 src/mahjong_ranking/models.py:607
|
||||
#: src/mahjong_ranking/templates/mahjong_ranking/ladder_redbox.html:29
|
||||
#: src/mahjong_ranking/templates/mahjong_ranking/player_ladder_score.html:63
|
||||
#: .\mahjong_ranking\models.py:179 .\mahjong_ranking\models.py:607
|
||||
#: .\mahjong_ranking\templates\mahjong_ranking\ladder_redbox.html:29
|
||||
#: .\mahjong_ranking\templates\mahjong_ranking\player_ladder_score.html:63
|
||||
msgid "Season"
|
||||
msgstr "Saison"
|
||||
|
||||
#: src/mahjong_ranking/models.py:184
|
||||
#: .\mahjong_ranking\models.py:184
|
||||
msgid "Hanchan"
|
||||
msgstr "Hanchan"
|
||||
|
||||
#: src/mahjong_ranking/models.py:185
|
||||
#: src/mahjong_ranking/templates/mahjong_ranking/eventranking_list.html:17
|
||||
#: .\mahjong_ranking\models.py:185
|
||||
#: .\mahjong_ranking\templates\mahjong_ranking\eventranking_list.html:17
|
||||
msgid "Hanchans"
|
||||
msgstr "Hanchans"
|
||||
|
||||
#: src/mahjong_ranking/models.py:188
|
||||
#: .\mahjong_ranking\models.py:188
|
||||
msgid "Hanchan from {0:%Y-%m-%d} at {0:%H:%M} with {1}"
|
||||
msgstr "Hanchan vom {0:%Y-%m-%d} um {0:%H:%M} mit {1}"
|
||||
|
||||
#: src/mahjong_ranking/models.py:215
|
||||
#: .\mahjong_ranking\models.py:215
|
||||
#, python-format
|
||||
msgid "%s can't attend the same game multiple times"
|
||||
msgstr "%s kann an einem Spiel nicht mehrfach teilnehmen."
|
||||
|
||||
#: src/mahjong_ranking/models.py:223
|
||||
#: .\mahjong_ranking\models.py:223
|
||||
msgid "Games in the future may not be added, Dr. Brown"
|
||||
msgstr "Spiele aus der Zukunft dürfen noch nicht erfasst werden. Dr. Brown."
|
||||
|
||||
#: src/mahjong_ranking/models.py:225
|
||||
#: .\mahjong_ranking\models.py:225
|
||||
msgid "Only games during the event are allowed"
|
||||
msgstr "Nur Spiele während der Veranstaltung zählen."
|
||||
|
||||
#: src/mahjong_ranking/models.py:228
|
||||
#: .\mahjong_ranking\models.py:228
|
||||
msgid "Gamescore is lower then 100.000 Pt."
|
||||
msgstr "Spielstand ist weniger als 100.000 Punkte"
|
||||
|
||||
#: src/mahjong_ranking/models.py:230
|
||||
#: .\mahjong_ranking\models.py:230
|
||||
msgid "Gamescore is over 100.000 Pt."
|
||||
msgstr "Spielstand ist über 100.000 Punkte."
|
||||
|
||||
#: src/mahjong_ranking/models.py:362
|
||||
#: .\mahjong_ranking\models.py:362
|
||||
msgid "Kyū/Dan Ranking"
|
||||
msgstr "Kyū/Dan Wertung"
|
||||
|
||||
#: src/mahjong_ranking/models.py:363
|
||||
#: .\mahjong_ranking\models.py:363
|
||||
msgid "Kyū/Dan Rankings"
|
||||
msgstr "Kyū/Dan Wertungen"
|
||||
|
||||
#: src/mahjong_ranking/templates/mahjong_ranking/eventhanchan_form.html:11
|
||||
#: src/mahjong_ranking/templates/mahjong_ranking/eventhanchan_list.html:55
|
||||
#| msgid "Edit Hanchan"
|
||||
#: .\mahjong_ranking\templates\mahjong_ranking\eventhanchan_form.html:11
|
||||
#: .\mahjong_ranking\templates\mahjong_ranking\eventhanchan_list.html:55
|
||||
msgid "Edit Hanchans"
|
||||
msgstr "Hanchans bearbeiten"
|
||||
|
||||
#: src/mahjong_ranking/templates/mahjong_ranking/eventhanchan_form.html:82
|
||||
#: src/mahjong_ranking/templates/mahjong_ranking/eventhanchan_list.html:56
|
||||
#: src/mahjong_ranking/templates/mahjong_ranking/eventranking_list.html:52
|
||||
#: src/mahjong_ranking/templates/mahjong_ranking/hanchan_form.html:4
|
||||
#: src/mahjong_ranking/templates/mahjong_ranking/hanchan_form.html:14
|
||||
msgid "Add Hanchan"
|
||||
msgstr "Hanchan hinzufügen"
|
||||
|
||||
#: src/mahjong_ranking/templates/mahjong_ranking/eventhanchan_form.html:84
|
||||
#: src/mahjong_ranking/templates/mahjong_ranking/eventhanchan_list.html:37
|
||||
#: src/mahjong_ranking/templates/mahjong_ranking/hanchan_confirm_delete.html:4
|
||||
#: src/mahjong_ranking/templates/mahjong_ranking/hanchan_confirm_delete.html:33
|
||||
#: src/mahjong_ranking/templates/mahjong_ranking/player_dan_score.html:44
|
||||
#: src/mahjong_ranking/templates/mahjong_ranking/player_invalid_score.html:33
|
||||
#: src/mahjong_ranking/templates/mahjong_ranking/player_kyu_score.html:41
|
||||
#: src/mahjong_ranking/templates/mahjong_ranking/player_ladder_score.html:52
|
||||
msgid "Delete Hanchan"
|
||||
msgstr "Hanchan löschen"
|
||||
|
||||
#: src/mahjong_ranking/templates/mahjong_ranking/eventhanchan_form.html:94
|
||||
#: src/mahjong_ranking/templates/mahjong_ranking/hanchan_form.html:71
|
||||
msgid "back"
|
||||
msgstr "Zurück"
|
||||
|
||||
#: src/mahjong_ranking/templates/mahjong_ranking/eventhanchan_form.html:95
|
||||
#: src/mahjong_ranking/templates/mahjong_ranking/hanchan_form.html:72
|
||||
msgid "save"
|
||||
msgstr "Speichern"
|
||||
|
||||
#: src/mahjong_ranking/templates/mahjong_ranking/eventhanchan_list.html:7
|
||||
msgid "Played Hanchans"
|
||||
msgstr "Gespielte Hanchans"
|
||||
|
||||
#: src/mahjong_ranking/templates/mahjong_ranking/eventhanchan_list.html:18
|
||||
#: src/mahjong_ranking/templates/mahjong_ranking/hanchan_confirm_delete.html:15
|
||||
msgid "Place"
|
||||
msgstr "Platz"
|
||||
|
||||
#: src/mahjong_ranking/templates/mahjong_ranking/eventhanchan_list.html:21
|
||||
#: src/mahjong_ranking/templates/mahjong_ranking/hanchan_confirm_delete.html:18
|
||||
#: src/mahjong_ranking/templates/mahjong_ranking/player_dan_score.html:17
|
||||
msgid "Dan Points"
|
||||
msgstr "Dan Punkte"
|
||||
|
||||
#: src/mahjong_ranking/templates/mahjong_ranking/eventhanchan_list.html:23
|
||||
#: src/mahjong_ranking/templates/mahjong_ranking/hanchan_confirm_delete.html:20
|
||||
#: src/mahjong_ranking/templates/mahjong_ranking/player_invalid_score.html:16
|
||||
#: src/mahjong_ranking/templates/mahjong_ranking/player_kyu_score.html:18
|
||||
msgid "Kyu Points"
|
||||
msgstr "Kyu Punkte"
|
||||
|
||||
#: src/mahjong_ranking/templates/mahjong_ranking/eventhanchan_list.html:43
|
||||
#: src/mahjong_ranking/templates/mahjong_ranking/hanchan_form.html:4
|
||||
#: src/mahjong_ranking/templates/mahjong_ranking/hanchan_form.html:14
|
||||
#: src/mahjong_ranking/templates/mahjong_ranking/player_dan_score.html:47
|
||||
#: src/mahjong_ranking/templates/mahjong_ranking/player_invalid_score.html:36
|
||||
#: src/mahjong_ranking/templates/mahjong_ranking/player_kyu_score.html:44
|
||||
#: src/mahjong_ranking/templates/mahjong_ranking/player_ladder_score.html:55
|
||||
msgid "Edit Hanchan"
|
||||
msgstr "Hanchan bearbeiten"
|
||||
|
||||
#: src/mahjong_ranking/templates/mahjong_ranking/eventhanchan_list.html:48
|
||||
msgid "No Hanchan has been added to this event yet."
|
||||
msgstr "Für diese Veranstaltung wurde noch keine Hanchan eingetragen."
|
||||
|
||||
#: src/mahjong_ranking/templates/mahjong_ranking/eventhanchan_list.html:54
|
||||
#: src/mahjong_ranking/templates/mahjong_ranking/eventranking_list.html:51
|
||||
msgid "Edit Event"
|
||||
msgstr "Veranstaltung bearbeiten"
|
||||
|
||||
#: src/mahjong_ranking/templates/mahjong_ranking/eventranking_list.html:4
|
||||
#: src/mahjong_ranking/templates/mahjong_ranking/eventranking_list.html:5
|
||||
msgid "Tournament Ranking"
|
||||
msgstr "Turnierwertung"
|
||||
|
||||
#: src/mahjong_ranking/templates/mahjong_ranking/eventranking_list.html:12
|
||||
#: src/mahjong_ranking/templates/mahjong_ranking/kyudanranking_list.html:30
|
||||
#: src/mahjong_ranking/templates/mahjong_ranking/seasonranking_list.html:23
|
||||
msgid "Rank"
|
||||
msgstr "Rang"
|
||||
|
||||
#: src/mahjong_ranking/templates/mahjong_ranking/eventranking_list.html:13
|
||||
#: src/mahjong_ranking/templates/mahjong_ranking/kyudanranking_list.html:17
|
||||
#: src/mahjong_ranking/templates/mahjong_ranking/seasonranking_list.html:24
|
||||
msgid "Avatar"
|
||||
msgstr "Avatar"
|
||||
|
||||
#: src/mahjong_ranking/templates/mahjong_ranking/eventranking_list.html:14
|
||||
#: src/mahjong_ranking/templates/mahjong_ranking/kyudanranking_list.html:20
|
||||
#: src/mahjong_ranking/templates/mahjong_ranking/seasonranking_list.html:25
|
||||
msgid "Nickname"
|
||||
msgstr "Spitzname"
|
||||
|
||||
#: src/mahjong_ranking/templates/mahjong_ranking/eventranking_list.html:15
|
||||
#: src/mahjong_ranking/templates/mahjong_ranking/seasonranking_list.html:26
|
||||
msgid "Name"
|
||||
msgstr "Name"
|
||||
|
||||
#: src/mahjong_ranking/templates/mahjong_ranking/eventranking_list.html:16
|
||||
#: src/mahjong_ranking/templates/mahjong_ranking/seasonranking_list.html:27
|
||||
msgid "Average"
|
||||
msgstr "Durchschnitt"
|
||||
|
||||
#: src/mahjong_ranking/templates/mahjong_ranking/eventranking_list.html:20
|
||||
#: src/mahjong_ranking/templates/mahjong_ranking/player_dan_score.html:15
|
||||
#: src/mahjong_ranking/templates/mahjong_ranking/player_invalid_score.html:15
|
||||
#: src/mahjong_ranking/templates/mahjong_ranking/player_kyu_score.html:16
|
||||
#: src/mahjong_ranking/templates/mahjong_ranking/player_ladder_score.html:16
|
||||
#: src/mahjong_ranking/templates/mahjong_ranking/seasonranking_list.html:31
|
||||
msgid "Placement"
|
||||
msgstr "Platzierung"
|
||||
|
||||
#: src/mahjong_ranking/templates/mahjong_ranking/eventranking_list.html:22
|
||||
#: src/mahjong_ranking/templates/mahjong_ranking/seasonranking_list.html:33
|
||||
msgid "count"
|
||||
msgstr "Anzahl"
|
||||
|
||||
#: src/mahjong_ranking/templates/mahjong_ranking/eventranking_list.html:23
|
||||
#: src/mahjong_ranking/templates/mahjong_ranking/seasonranking_list.html:34
|
||||
msgid "good"
|
||||
msgstr "gut"
|
||||
|
||||
#: src/mahjong_ranking/templates/mahjong_ranking/eventranking_list.html:24
|
||||
#: src/mahjong_ranking/templates/mahjong_ranking/seasonranking_list.html:35
|
||||
msgid "won"
|
||||
msgstr "gewonnen"
|
||||
|
||||
#: src/mahjong_ranking/templates/mahjong_ranking/hanchan_confirm_delete.html:39
|
||||
msgid "Cancel"
|
||||
msgstr "Abbruch"
|
||||
|
||||
#: src/mahjong_ranking/templates/mahjong_ranking/hanchan_confirm_delete.html:40
|
||||
msgid "Delete"
|
||||
msgstr "Löschen"
|
||||
|
||||
#: src/mahjong_ranking/templates/mahjong_ranking/hanchan_form.html:18
|
||||
msgid "Player"
|
||||
msgstr "Spieler"
|
||||
|
||||
#: src/mahjong_ranking/templates/mahjong_ranking/hanchan_form.html:58
|
||||
#: .\mahjong_ranking\templates\mahjong_ranking\eventhanchan_form.html:49
|
||||
#: .\mahjong_ranking\templates\mahjong_ranking\hanchan_form.html:58
|
||||
msgid "Total"
|
||||
msgstr "Total"
|
||||
|
||||
#: src/mahjong_ranking/templates/mahjong_ranking/kyudanranking_list.html:4
|
||||
#: src/mahjong_ranking/templates/mahjong_ranking/kyudanranking_list.html:9
|
||||
msgid "Player List"
|
||||
msgstr "Spieler Liste"
|
||||
#: .\mahjong_ranking\templates\mahjong_ranking\eventhanchan_form.html:51
|
||||
msgid "Difference"
|
||||
msgstr "Unterschied"
|
||||
|
||||
#: src/mahjong_ranking/templates/mahjong_ranking/kyudanranking_list.html:25
|
||||
msgid "Full Name"
|
||||
msgstr "Voller Name"
|
||||
#: .\mahjong_ranking\templates\mahjong_ranking\eventhanchan_form.html:103
|
||||
#: .\mahjong_ranking\templates\mahjong_ranking\eventhanchan_list.html:56
|
||||
#: .\mahjong_ranking\templates\mahjong_ranking\eventranking_list.html:52
|
||||
#: .\mahjong_ranking\templates\mahjong_ranking\hanchan_form.html:4
|
||||
#: .\mahjong_ranking\templates\mahjong_ranking\hanchan_form.html:14
|
||||
msgid "Add Hanchan"
|
||||
msgstr "Hanchan hinzufügen"
|
||||
|
||||
#: src/mahjong_ranking/templates/mahjong_ranking/kyudanranking_list.html:40
|
||||
#: .\mahjong_ranking\templates\mahjong_ranking\eventhanchan_form.html:105
|
||||
#: .\mahjong_ranking\templates\mahjong_ranking\eventhanchan_list.html:37
|
||||
#: .\mahjong_ranking\templates\mahjong_ranking\hanchan_confirm_delete.html:4
|
||||
#: .\mahjong_ranking\templates\mahjong_ranking\hanchan_confirm_delete.html:33
|
||||
#: .\mahjong_ranking\templates\mahjong_ranking\player_dan_score.html:44
|
||||
#: .\mahjong_ranking\templates\mahjong_ranking\player_invalid_score.html:33
|
||||
#: .\mahjong_ranking\templates\mahjong_ranking\player_kyu_score.html:41
|
||||
#: .\mahjong_ranking\templates\mahjong_ranking\player_ladder_score.html:52
|
||||
msgid "Delete Hanchan"
|
||||
msgstr "Hanchan löschen"
|
||||
|
||||
#: .\mahjong_ranking\templates\mahjong_ranking\eventhanchan_form.html:118
|
||||
#: .\mahjong_ranking\templates\mahjong_ranking\hanchan_form.html:71
|
||||
msgid "back"
|
||||
msgstr "Zurück"
|
||||
|
||||
#: .\mahjong_ranking\templates\mahjong_ranking\eventhanchan_form.html:119
|
||||
#: .\mahjong_ranking\templates\mahjong_ranking\hanchan_form.html:72
|
||||
msgid "save"
|
||||
msgstr "Speichern"
|
||||
|
||||
#: .\mahjong_ranking\templates\mahjong_ranking\eventhanchan_list.html:7
|
||||
msgid "Played Hanchans"
|
||||
msgstr "Gespielte Hanchans"
|
||||
|
||||
#: .\mahjong_ranking\templates\mahjong_ranking\eventhanchan_list.html:18
|
||||
#: .\mahjong_ranking\templates\mahjong_ranking\hanchan_confirm_delete.html:15
|
||||
msgid "Place"
|
||||
msgstr "Platz"
|
||||
|
||||
#: .\mahjong_ranking\templates\mahjong_ranking\eventhanchan_list.html:21
|
||||
#: .\mahjong_ranking\templates\mahjong_ranking\hanchan_confirm_delete.html:18
|
||||
#: .\mahjong_ranking\templates\mahjong_ranking\player_dan_score.html:17
|
||||
msgid "Dan Points"
|
||||
msgstr "Dan Punkte"
|
||||
|
||||
#: .\mahjong_ranking\templates\mahjong_ranking\eventhanchan_list.html:23
|
||||
#: .\mahjong_ranking\templates\mahjong_ranking\hanchan_confirm_delete.html:20
|
||||
#: .\mahjong_ranking\templates\mahjong_ranking\player_invalid_score.html:16
|
||||
#: .\mahjong_ranking\templates\mahjong_ranking\player_kyu_score.html:18
|
||||
msgid "Kyu Points"
|
||||
msgstr "Kyu Punkte"
|
||||
|
||||
#: .\mahjong_ranking\templates\mahjong_ranking\eventhanchan_list.html:43
|
||||
#: .\mahjong_ranking\templates\mahjong_ranking\hanchan_form.html:4
|
||||
#: .\mahjong_ranking\templates\mahjong_ranking\hanchan_form.html:14
|
||||
#: .\mahjong_ranking\templates\mahjong_ranking\player_dan_score.html:47
|
||||
#: .\mahjong_ranking\templates\mahjong_ranking\player_invalid_score.html:36
|
||||
#: .\mahjong_ranking\templates\mahjong_ranking\player_kyu_score.html:44
|
||||
#: .\mahjong_ranking\templates\mahjong_ranking\player_ladder_score.html:55
|
||||
msgid "Edit Hanchan"
|
||||
msgstr "Hanchan bearbeiten"
|
||||
|
||||
#: .\mahjong_ranking\templates\mahjong_ranking\eventhanchan_list.html:48
|
||||
msgid "No Hanchan has been added to this event yet."
|
||||
msgstr "Für diese Veranstaltung wurde noch keine Hanchan eingetragen."
|
||||
|
||||
#: .\mahjong_ranking\templates\mahjong_ranking\eventhanchan_list.html:54
|
||||
#: .\mahjong_ranking\templates\mahjong_ranking\eventranking_list.html:51
|
||||
msgid "Edit Event"
|
||||
msgstr "Veranstaltung bearbeiten"
|
||||
|
||||
#: .\mahjong_ranking\templates\mahjong_ranking\eventranking_list.html:4
|
||||
#: .\mahjong_ranking\templates\mahjong_ranking\eventranking_list.html:5
|
||||
msgid "Tournament Ranking"
|
||||
msgstr "Turnierwertung"
|
||||
|
||||
#: .\mahjong_ranking\templates\mahjong_ranking\eventranking_list.html:12
|
||||
#: .\mahjong_ranking\templates\mahjong_ranking\kyudanranking_list.html:25
|
||||
#: .\mahjong_ranking\templates\mahjong_ranking\seasonranking_list.html:23
|
||||
msgid "Rank"
|
||||
msgstr "Rang"
|
||||
|
||||
#: .\mahjong_ranking\templates\mahjong_ranking\eventranking_list.html:13
|
||||
#: .\mahjong_ranking\templates\mahjong_ranking\kyudanranking_list.html:17
|
||||
#: .\mahjong_ranking\templates\mahjong_ranking\seasonranking_list.html:24
|
||||
msgid "Avatar"
|
||||
msgstr "Avatar"
|
||||
|
||||
#: .\mahjong_ranking\templates\mahjong_ranking\eventranking_list.html:14
|
||||
#: .\mahjong_ranking\templates\mahjong_ranking\kyudanranking_list.html:20
|
||||
#: .\mahjong_ranking\templates\mahjong_ranking\seasonranking_list.html:25
|
||||
msgid "Nickname"
|
||||
msgstr "Spitzname"
|
||||
|
||||
#: .\mahjong_ranking\templates\mahjong_ranking\eventranking_list.html:15
|
||||
msgid "Name"
|
||||
msgstr "Name"
|
||||
|
||||
#: .\mahjong_ranking\templates\mahjong_ranking\eventranking_list.html:16
|
||||
#: .\mahjong_ranking\templates\mahjong_ranking\seasonranking_list.html:26
|
||||
msgid "Average"
|
||||
msgstr "Durchschnitt"
|
||||
|
||||
#: .\mahjong_ranking\templates\mahjong_ranking\eventranking_list.html:20
|
||||
#: .\mahjong_ranking\templates\mahjong_ranking\player_dan_score.html:15
|
||||
#: .\mahjong_ranking\templates\mahjong_ranking\player_invalid_score.html:15
|
||||
#: .\mahjong_ranking\templates\mahjong_ranking\player_kyu_score.html:16
|
||||
#: .\mahjong_ranking\templates\mahjong_ranking\player_ladder_score.html:16
|
||||
#: .\mahjong_ranking\templates\mahjong_ranking\seasonranking_list.html:30
|
||||
msgid "Placement"
|
||||
msgstr "Platzierung"
|
||||
|
||||
#: .\mahjong_ranking\templates\mahjong_ranking\eventranking_list.html:22
|
||||
#: .\mahjong_ranking\templates\mahjong_ranking\seasonranking_list.html:32
|
||||
msgid "count"
|
||||
msgstr "Anzahl"
|
||||
|
||||
#: .\mahjong_ranking\templates\mahjong_ranking\eventranking_list.html:23
|
||||
#: .\mahjong_ranking\templates\mahjong_ranking\seasonranking_list.html:33
|
||||
msgid "good"
|
||||
msgstr "gut"
|
||||
|
||||
#: .\mahjong_ranking\templates\mahjong_ranking\eventranking_list.html:24
|
||||
#: .\mahjong_ranking\templates\mahjong_ranking\seasonranking_list.html:34
|
||||
msgid "won"
|
||||
msgstr "gewonnen"
|
||||
|
||||
#: .\mahjong_ranking\templates\mahjong_ranking\hanchan_confirm_delete.html:39
|
||||
msgid "Cancel"
|
||||
msgstr "Abbruch"
|
||||
|
||||
#: .\mahjong_ranking\templates\mahjong_ranking\hanchan_confirm_delete.html:40
|
||||
msgid "Delete"
|
||||
msgstr "Löschen"
|
||||
|
||||
#: .\mahjong_ranking\templates\mahjong_ranking\hanchan_form.html:18
|
||||
msgid "Player"
|
||||
msgstr "Spieler"
|
||||
|
||||
#: .\mahjong_ranking\templates\mahjong_ranking\kyudanranking_list.html:4
|
||||
#: .\mahjong_ranking\templates\mahjong_ranking\kyudanranking_list.html:9
|
||||
#| msgid "Player List"
|
||||
msgid "Players list"
|
||||
msgstr "Spielerliste"
|
||||
|
||||
#: .\mahjong_ranking\templates\mahjong_ranking\kyudanranking_list.html:35
|
||||
msgid "Games Total"
|
||||
msgstr "Spiele total"
|
||||
|
||||
#: src/mahjong_ranking/templates/mahjong_ranking/ladder_redbox.html:3
|
||||
#: .\mahjong_ranking\templates\mahjong_ranking\ladder_redbox.html:3
|
||||
msgid "Latest Hanchans"
|
||||
msgstr "Letzten Hanchans"
|
||||
|
||||
#: src/mahjong_ranking/templates/mahjong_ranking/ladder_redbox.html:15
|
||||
#: .\mahjong_ranking\templates\mahjong_ranking\ladder_redbox.html:15
|
||||
msgid "Latest Events"
|
||||
msgstr "Letzte Veranstaltungen"
|
||||
|
||||
#: src/mahjong_ranking/templates/mahjong_ranking/ladder_redbox.html:27
|
||||
#: .\mahjong_ranking\templates\mahjong_ranking\ladder_redbox.html:27
|
||||
msgid "Ladder Archive"
|
||||
msgstr "Ladder Archiv"
|
||||
|
||||
#: src/mahjong_ranking/templates/mahjong_ranking/player_dan_score.html:4
|
||||
#: src/mahjong_ranking/templates/mahjong_ranking/player_dan_score.html:5
|
||||
#: .\mahjong_ranking\templates\mahjong_ranking\player_dan_score.html:4
|
||||
#: .\mahjong_ranking\templates\mahjong_ranking\player_dan_score.html:5
|
||||
msgid "Dan Score for"
|
||||
msgstr "Dan Wertung für"
|
||||
|
||||
#: src/mahjong_ranking/templates/mahjong_ranking/player_dan_score.html:8
|
||||
#: .\mahjong_ranking\templates\mahjong_ranking\player_dan_score.html:8
|
||||
msgid "Hanchans that apply to the Dan Score"
|
||||
msgstr "Hanchans welche zur Dan Wertung zählen"
|
||||
|
||||
#: src/mahjong_ranking/templates/mahjong_ranking/player_dan_score.html:12
|
||||
#: src/mahjong_ranking/templates/mahjong_ranking/player_kyu_score.html:13
|
||||
#: src/mahjong_ranking/templates/mahjong_ranking/player_ladder_score.html:13
|
||||
#: .\mahjong_ranking\templates\mahjong_ranking\player_dan_score.html:12
|
||||
#: .\mahjong_ranking\templates\mahjong_ranking\player_kyu_score.html:13
|
||||
#: .\mahjong_ranking\templates\mahjong_ranking\player_ladder_score.html:13
|
||||
msgid "Date"
|
||||
msgstr "Datum"
|
||||
|
||||
#: src/mahjong_ranking/templates/mahjong_ranking/player_dan_score.html:13
|
||||
#: src/mahjong_ranking/templates/mahjong_ranking/player_invalid_score.html:12
|
||||
#: src/mahjong_ranking/templates/mahjong_ranking/player_kyu_score.html:14
|
||||
#: src/mahjong_ranking/templates/mahjong_ranking/player_ladder_score.html:14
|
||||
#: .\mahjong_ranking\templates\mahjong_ranking\player_dan_score.html:13
|
||||
#: .\mahjong_ranking\templates\mahjong_ranking\player_invalid_score.html:12
|
||||
#: .\mahjong_ranking\templates\mahjong_ranking\player_kyu_score.html:14
|
||||
#: .\mahjong_ranking\templates\mahjong_ranking\player_ladder_score.html:14
|
||||
msgid "Event"
|
||||
msgstr "Veranstaltung"
|
||||
|
||||
#: src/mahjong_ranking/templates/mahjong_ranking/player_dan_score.html:16
|
||||
#: src/mahjong_ranking/templates/mahjong_ranking/player_invalid_score.html:14
|
||||
#: src/mahjong_ranking/templates/mahjong_ranking/player_kyu_score.html:17
|
||||
#: src/mahjong_ranking/templates/mahjong_ranking/player_ladder_score.html:17
|
||||
#: .\mahjong_ranking\templates\mahjong_ranking\player_dan_score.html:16
|
||||
#: .\mahjong_ranking\templates\mahjong_ranking\player_invalid_score.html:14
|
||||
#: .\mahjong_ranking\templates\mahjong_ranking\player_kyu_score.html:17
|
||||
#: .\mahjong_ranking\templates\mahjong_ranking\player_ladder_score.html:17
|
||||
msgid "Players"
|
||||
msgstr "Spieler"
|
||||
|
||||
#: src/mahjong_ranking/templates/mahjong_ranking/player_invalid_score.html:4
|
||||
#: src/mahjong_ranking/templates/mahjong_ranking/player_invalid_score.html:6
|
||||
#: .\mahjong_ranking\templates\mahjong_ranking\player_invalid_score.html:4
|
||||
#: .\mahjong_ranking\templates\mahjong_ranking\player_invalid_score.html:6
|
||||
msgid "Unconfirmed Hanchans from"
|
||||
msgstr "Nicht bestätigte Hanchans von"
|
||||
|
||||
#: src/mahjong_ranking/templates/mahjong_ranking/player_invalid_score.html:9
|
||||
#: .\mahjong_ranking\templates\mahjong_ranking\player_invalid_score.html:9
|
||||
msgid "Invalid hanchans with"
|
||||
msgstr "Ungültige Hanchans mit"
|
||||
|
||||
#: src/mahjong_ranking/templates/mahjong_ranking/player_kyu_score.html:4
|
||||
#: src/mahjong_ranking/templates/mahjong_ranking/player_kyu_score.html:6
|
||||
#: .\mahjong_ranking\templates\mahjong_ranking\player_kyu_score.html:4
|
||||
#: .\mahjong_ranking\templates\mahjong_ranking\player_kyu_score.html:6
|
||||
msgid "Kyu Score for"
|
||||
msgstr "Kyu Wertung für"
|
||||
|
||||
#: src/mahjong_ranking/templates/mahjong_ranking/player_kyu_score.html:9
|
||||
#: .\mahjong_ranking\templates\mahjong_ranking\player_kyu_score.html:9
|
||||
msgid "Hanchans that apply to the Kyu Score"
|
||||
msgstr "Hanchans welche zur Kyu Wertung zählen"
|
||||
|
||||
#: src/mahjong_ranking/templates/mahjong_ranking/player_ladder_score.html:4
|
||||
#: src/mahjong_ranking/templates/mahjong_ranking/player_ladder_score.html:5
|
||||
#: .\mahjong_ranking\templates\mahjong_ranking\player_ladder_score.html:4
|
||||
#: .\mahjong_ranking\templates\mahjong_ranking\player_ladder_score.html:5
|
||||
msgid "Ladder Score for"
|
||||
msgstr "Ladder Wertung für"
|
||||
|
||||
#: src/mahjong_ranking/templates/mahjong_ranking/player_ladder_score.html:8
|
||||
#: .\mahjong_ranking\templates\mahjong_ranking\player_ladder_score.html:8
|
||||
msgid "Hanchans that apply to the Ladder Score"
|
||||
msgstr "Hanchans welche in der Ladder zählen"
|
||||
|
||||
#: src/mahjong_ranking/templates/mahjong_ranking/player_ladder_score.html:71
|
||||
#: .\mahjong_ranking\templates\mahjong_ranking\player_ladder_score.html:71
|
||||
msgid "Go"
|
||||
msgstr "Los"
|
||||
|
||||
#: src/mahjong_ranking/templates/mahjong_ranking/seasonranking_list.html:11
|
||||
#: .\mahjong_ranking\templates\mahjong_ranking\seasonranking_list.html:11
|
||||
msgid "End"
|
||||
msgstr "Ende"
|
||||
|
||||
#: src/mahjong_ranking/templates/mahjong_ranking/seasonranking_list.html:12
|
||||
#: .\mahjong_ranking\templates\mahjong_ranking\seasonranking_list.html:12
|
||||
msgid "Participants"
|
||||
msgstr "Teilnehmer"
|
||||
|
||||
#: src/mahjong_ranking/views.py:104
|
||||
#: .\mahjong_ranking\views.py:104
|
||||
#, python-format
|
||||
msgid "%s has been updated successfully."
|
||||
msgstr "%s wurde erfolgreich aktualisiert."
|
||||
|
||||
#: src/mahjong_ranking/views.py:107
|
||||
#: .\mahjong_ranking\views.py:107
|
||||
#, python-format
|
||||
msgid "%s has been added successfully. You can now add a new one."
|
||||
msgstr "%s wurde erfolgreich hinzugefügt. Du kannst eine neue eintragen."
|
||||
|
||||
#: src/mahjong_ranking/views.py:207
|
||||
#: .\mahjong_ranking\views.py:207
|
||||
msgid "No user found matching the name {}"
|
||||
msgstr "Kein Benutzer mit dem Namen %s gefunden"
|
||||
|
||||
#~ msgid "Full Name"
|
||||
#~ msgstr "Voller Name"
|
||||
|
||||
#~ msgid "Event does not exist"
|
||||
#~ msgstr "Veranstaltung existiert nicht"
|
||||
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
{% extends "mahjong_ranking/page.html" %}
|
||||
{% load i18n thumbnail %}
|
||||
|
||||
{% block title %}{% trans 'Player List' %}{% endblock %}
|
||||
{% block title %}{% trans 'Players list' %}{% endblock %}
|
||||
{% block extra_head %}
|
||||
<link rel="canonical" href="{% url 'kyudanranking-list' %}?page={{page_obj.number}}" />
|
||||
{% endblock %}
|
||||
|
||||
{% block teaser %}<h1>{% trans 'Player List' %}</h1>{% endblock %}
|
||||
{% block teaser %}<h1>{% trans 'Players list' %}</h1>{% endblock %}
|
||||
|
||||
{% block redbox %}{% include 'mahjong_ranking/ladder_redbox.html' %}{% endblock %}
|
||||
|
||||
@@ -20,11 +20,6 @@
|
||||
{% trans 'Nickname' %}
|
||||
<a href="{% url 'kyudanranking-list' order_by='-username' %}?page={{page_obj.number}}" class="fa fa-sort-desc" rel="nofollow"></a>
|
||||
</th>
|
||||
<th>
|
||||
<a href="{% url 'kyudanranking-list' order_by='+full_name'%}?page={{page_obj.number}}" class="fa fa-sort-asc" rel="nofollow"></a>
|
||||
{% trans 'Full Name' %}
|
||||
<a href="{% url 'kyudanranking-list' order_by='-full_name' %}?page={{page_obj.number}}" class="fa fa-sort-desc" rel="nofollow"></a>
|
||||
</th>
|
||||
<th>
|
||||
<a href="{% url 'kyudanranking-list' order_by='+rank' %}?page={{page_obj.number}}" class="fa fa-sort-asc" rel="nofollow"></a>
|
||||
{% trans 'Rank' %}
|
||||
@@ -51,7 +46,6 @@
|
||||
width="70" height="70" alt="" /></a>
|
||||
</td>
|
||||
<td><a href="{{ ranking.get_absolute_url }}">{{ ranking.user }}</a></td>
|
||||
<td>{% if user.is_authenticated %}{{ranking.user.last_name}} {{ranking.user.first_name}}{% else %}---{% endif %}</td>
|
||||
<td>{% if ranking.dan %} {{ranking.dan}}. Dan {% else %} {{ranking.kyu}} Kyu {% endif %}</td>
|
||||
<td class="right">{% if ranking.dan %} {{ranking.dan_points}} {% else %} {{ranking.kyu_points}} {% endif %}</td>
|
||||
<td class="right">{{ranking.hanchan_count}}</td>
|
||||
@@ -59,4 +53,4 @@
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
{% endblock %}
|
||||
{% endblock %}
|
||||
|
||||
@@ -23,7 +23,6 @@
|
||||
<th rowspan="2">{% trans "Rank" %}</th>
|
||||
<th rowspan="2">{% trans "Avatar" %}</th>
|
||||
<th rowspan="2">{% trans "Nickname" %}</th>
|
||||
<th rowspan="2">{% trans "Name" %}</th>
|
||||
<th colspan="2">{% trans 'Average' %}</th>
|
||||
<th colspan="3">Hanchans</th>
|
||||
</tr>
|
||||
@@ -42,7 +41,6 @@
|
||||
src="{% thumbnail player.user.avatar|default:'unknown_profile.jpg' 'avatar' %}"
|
||||
width="70" height="70" class="avatar" alt=""/></a></td>
|
||||
<td><a href="{{ player.get_absolute_url }}?season={{season}}">{{player.user}}</a></td>
|
||||
<td>{% if user.is_authenticated %}{{player.user.last_name}} {{player.user.first_name}}{% else %}---{% endif %}</td>
|
||||
<td class="center">{{player.avg_placement|floatformat:2 }}</td>
|
||||
<td class="right">{{player.avg_score|floatformat:0|intcomma }}</td>
|
||||
<td class="right">{{player.hanchan_count}}</td>
|
||||
@@ -57,4 +55,4 @@
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</table>
|
||||
{% endblock %}
|
||||
{% endblock %}
|
||||
|
||||
@@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: kasu.mahjong_ranking\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-01-11 22:50+0100\n"
|
||||
"POT-Creation-Date: 2018-05-08 00:17+0200\n"
|
||||
"PO-Revision-Date: 2016-09-28 00:24+0200\n"
|
||||
"Last-Translator: Christian Berg <xeniac.at@gmail.com>\n"
|
||||
"Language-Team: Kasu <verein@kasu.at>\n"
|
||||
@@ -19,208 +19,208 @@ msgstr ""
|
||||
"X-Generator: Poedit 1.8.9\n"
|
||||
"X-Translated-Using: django-rosetta 0.7.2\n"
|
||||
|
||||
#: src/maistar_ranking/admin.py:24
|
||||
#: .\maistar_ranking\admin.py:24
|
||||
msgid "Recalculate"
|
||||
msgstr "Neuberechnen"
|
||||
|
||||
#: src/maistar_ranking/forms.py:35
|
||||
#: .\maistar_ranking\forms.py:35
|
||||
#, python-format
|
||||
msgid "%s may only participate once."
|
||||
msgstr "%s darf nur einmal teilnehmen."
|
||||
|
||||
#: src/maistar_ranking/models.py:21
|
||||
#: .\maistar_ranking\models.py:21
|
||||
msgid "Comment"
|
||||
msgstr "Kommentar"
|
||||
|
||||
#: src/maistar_ranking/models.py:24
|
||||
#: .\maistar_ranking\models.py:24
|
||||
msgid "Player 1"
|
||||
msgstr "Spieler 1"
|
||||
|
||||
#: src/maistar_ranking/models.py:26 src/maistar_ranking/models.py:33
|
||||
#: src/maistar_ranking/models.py:40 src/maistar_ranking/models.py:47
|
||||
#: src/maistar_ranking/models.py:54 src/maistar_ranking/models.py:61
|
||||
#: src/maistar_ranking/templates/maistar_ranking/ranking_list.html:19
|
||||
#: .\maistar_ranking\models.py:26 .\maistar_ranking\models.py:33
|
||||
#: .\maistar_ranking\models.py:40 .\maistar_ranking\models.py:47
|
||||
#: .\maistar_ranking\models.py:54 .\maistar_ranking\models.py:61
|
||||
#: .\maistar_ranking\templates\maistar_ranking\ranking_list.html:19
|
||||
msgid "Score"
|
||||
msgstr "Punkte"
|
||||
|
||||
#: src/maistar_ranking/models.py:31
|
||||
#: .\maistar_ranking\models.py:31
|
||||
msgid "Player 2"
|
||||
msgstr "Spieler 2"
|
||||
|
||||
#: src/maistar_ranking/models.py:38
|
||||
#: .\maistar_ranking\models.py:38
|
||||
msgid "Player 3"
|
||||
msgstr "Spieler 3"
|
||||
|
||||
#: src/maistar_ranking/models.py:45
|
||||
#: .\maistar_ranking\models.py:45
|
||||
msgid "Player 4"
|
||||
msgstr "Spieler 4"
|
||||
|
||||
#: src/maistar_ranking/models.py:52
|
||||
#: .\maistar_ranking\models.py:52
|
||||
msgid "Player 5"
|
||||
msgstr "Spieler 5"
|
||||
|
||||
#: src/maistar_ranking/models.py:59
|
||||
#: .\maistar_ranking\models.py:59
|
||||
msgid "Player 6"
|
||||
msgstr "Spieler 6"
|
||||
|
||||
#: src/maistar_ranking/models.py:65
|
||||
#: .\maistar_ranking\models.py:65
|
||||
msgid "Has been confirmed"
|
||||
msgstr "Wurde bestätigt"
|
||||
|
||||
#: src/maistar_ranking/models.py:67
|
||||
#: .\maistar_ranking\models.py:67
|
||||
msgid "the game only counts whe it has been confirmed"
|
||||
msgstr "das Spiel zählt nur wenn es bestätigt wurde"
|
||||
|
||||
#: src/maistar_ranking/models.py:70 src/maistar_ranking/models.py:153
|
||||
#: src/maistar_ranking/templates/maistar_ranking/player_game_list.html:6
|
||||
#: src/maistar_ranking/templates/maistar_ranking/ranking_list.html:4
|
||||
#: src/maistar_ranking/templates/maistar_ranking/ranking_list.html:72
|
||||
#: .\maistar_ranking\models.py:70 .\maistar_ranking\models.py:153
|
||||
#: .\maistar_ranking\templates\maistar_ranking\player_game_list.html:6
|
||||
#: .\maistar_ranking\templates\maistar_ranking\ranking_list.html:4
|
||||
#: .\maistar_ranking\templates\maistar_ranking\ranking_list.html:72
|
||||
msgid "Season"
|
||||
msgstr "Saison"
|
||||
|
||||
#: src/maistar_ranking/models.py:80
|
||||
#: .\maistar_ranking\models.py:80
|
||||
msgid "Mai-Star Game with {0} from {1:%Y-%m-%d}"
|
||||
msgstr "Mai-Star Spiel mit {0} vom {1:%Y-%m-%d}"
|
||||
|
||||
#: src/maistar_ranking/templates/maistar_ranking/game_form.html:5
|
||||
#: src/maistar_ranking/templates/maistar_ranking/game_form.html:16
|
||||
#: src/maistar_ranking/templates/maistar_ranking/game_list.html:27
|
||||
#: src/maistar_ranking/templates/maistar_ranking/player_game_list.html:44
|
||||
#: .\maistar_ranking\templates\maistar_ranking\game_form.html:5
|
||||
#: .\maistar_ranking\templates\maistar_ranking\game_form.html:16
|
||||
#: .\maistar_ranking\templates\maistar_ranking\game_list.html:27
|
||||
#: .\maistar_ranking\templates\maistar_ranking\player_game_list.html:44
|
||||
msgid "Edit Game"
|
||||
msgstr "Spiel bearbeiten"
|
||||
|
||||
#: src/maistar_ranking/templates/maistar_ranking/game_form.html:5
|
||||
#: src/maistar_ranking/templates/maistar_ranking/game_form.html:16
|
||||
#: src/maistar_ranking/templates/maistar_ranking/game_list.html:41
|
||||
#: .\maistar_ranking\templates\maistar_ranking\game_form.html:5
|
||||
#: .\maistar_ranking\templates\maistar_ranking\game_form.html:16
|
||||
#: .\maistar_ranking\templates\maistar_ranking\game_list.html:41
|
||||
msgid "Add Game"
|
||||
msgstr "Spiel hinzufügen"
|
||||
|
||||
#: src/maistar_ranking/templates/maistar_ranking/game_form.html:76
|
||||
#: .\maistar_ranking\templates\maistar_ranking\game_form.html:76
|
||||
msgid "Back"
|
||||
msgstr "Zurück"
|
||||
|
||||
#: src/maistar_ranking/templates/maistar_ranking/game_form.html:77
|
||||
#: .\maistar_ranking\templates\maistar_ranking\game_form.html:77
|
||||
msgid "Save"
|
||||
msgstr "Speichern"
|
||||
|
||||
#: src/maistar_ranking/templates/maistar_ranking/game_list.html:4
|
||||
#: src/maistar_ranking/templates/maistar_ranking/player_game_list.html:6
|
||||
#: .\maistar_ranking\templates\maistar_ranking\game_list.html:4
|
||||
#: .\maistar_ranking\templates\maistar_ranking\player_game_list.html:6
|
||||
msgid "Mai-Star Games"
|
||||
msgstr "Mai-Star Spiele"
|
||||
|
||||
#: src/maistar_ranking/templates/maistar_ranking/game_list.html:7
|
||||
#: .\maistar_ranking\templates\maistar_ranking\game_list.html:7
|
||||
msgid "Played Mai-Star Games"
|
||||
msgstr "Gespielte Mai-Star Spiele"
|
||||
|
||||
#: src/maistar_ranking/templates/maistar_ranking/game_list.html:11
|
||||
#: .\maistar_ranking\templates\maistar_ranking\game_list.html:11
|
||||
msgid "Game"
|
||||
msgstr "Spiel"
|
||||
|
||||
#: src/maistar_ranking/templates/maistar_ranking/game_list.html:14
|
||||
#: .\maistar_ranking\templates\maistar_ranking\game_list.html:14
|
||||
msgid "Place"
|
||||
msgstr "Platz"
|
||||
|
||||
#: src/maistar_ranking/templates/maistar_ranking/game_list.html:19
|
||||
#: src/maistar_ranking/templates/maistar_ranking/player_game_list.html:36
|
||||
#: .\maistar_ranking\templates\maistar_ranking\game_list.html:19
|
||||
#: .\maistar_ranking\templates\maistar_ranking\player_game_list.html:36
|
||||
msgid "Points"
|
||||
msgstr "Punkte"
|
||||
|
||||
#: src/maistar_ranking/templates/maistar_ranking/game_list.html:24
|
||||
#: src/maistar_ranking/templates/maistar_ranking/player_game_list.html:41
|
||||
#: .\maistar_ranking\templates\maistar_ranking\game_list.html:24
|
||||
#: .\maistar_ranking\templates\maistar_ranking\player_game_list.html:41
|
||||
msgid "Delete Game"
|
||||
msgstr "Spiel löschen"
|
||||
|
||||
#: src/maistar_ranking/templates/maistar_ranking/game_list.html:33
|
||||
#: .\maistar_ranking\templates\maistar_ranking\game_list.html:33
|
||||
msgid "No Mai-Star games have been added to this event yet."
|
||||
msgstr "Für diese Veranstaltung wurden noch keine Mai-Star Spiele erfasst."
|
||||
|
||||
#: src/maistar_ranking/templates/maistar_ranking/game_list.html:40
|
||||
#: .\maistar_ranking\templates\maistar_ranking\game_list.html:40
|
||||
msgid "Edit Event"
|
||||
msgstr "Veranstaltung bearbeiten"
|
||||
|
||||
#: src/maistar_ranking/templates/maistar_ranking/hanchan_confirm_delete.html:4
|
||||
#: src/maistar_ranking/templates/maistar_ranking/hanchan_confirm_delete.html:10
|
||||
#: .\maistar_ranking\templates\maistar_ranking\hanchan_confirm_delete.html:4
|
||||
#: .\maistar_ranking\templates\maistar_ranking\hanchan_confirm_delete.html:10
|
||||
msgid "Delete game"
|
||||
msgstr "Spiel löschen"
|
||||
|
||||
#: src/maistar_ranking/templates/maistar_ranking/hanchan_confirm_delete.html:13
|
||||
#: .\maistar_ranking\templates\maistar_ranking\hanchan_confirm_delete.html:13
|
||||
msgid "Cancel"
|
||||
msgstr "Abbrechen"
|
||||
|
||||
#: src/maistar_ranking/templates/maistar_ranking/hanchan_confirm_delete.html:14
|
||||
#: .\maistar_ranking\templates\maistar_ranking\hanchan_confirm_delete.html:14
|
||||
msgid "Delete"
|
||||
msgstr "Löschen"
|
||||
|
||||
#: src/maistar_ranking/templates/maistar_ranking/page.html:5
|
||||
#: .\maistar_ranking\templates\maistar_ranking\page.html:5
|
||||
msgid "Archive"
|
||||
msgstr "Archiv"
|
||||
|
||||
#: src/maistar_ranking/templates/maistar_ranking/page.html:7
|
||||
#: .\maistar_ranking\templates\maistar_ranking\page.html:7
|
||||
msgid "Add Event"
|
||||
msgstr "Veranstaltung hinzufügen"
|
||||
|
||||
#: src/maistar_ranking/templates/maistar_ranking/player_game_list.html:4
|
||||
#: .\maistar_ranking\templates\maistar_ranking\player_game_list.html:4
|
||||
msgid "Ladder Score for"
|
||||
msgstr "Ladder Wertung für"
|
||||
|
||||
#: src/maistar_ranking/templates/maistar_ranking/player_game_list.html:9
|
||||
#: .\maistar_ranking\templates\maistar_ranking\player_game_list.html:9
|
||||
msgid "Mai-Star Games with"
|
||||
msgstr "Mai-Star Spiele mit"
|
||||
|
||||
#: src/maistar_ranking/templates/maistar_ranking/player_game_list.html:14
|
||||
#: .\maistar_ranking\templates\maistar_ranking\player_game_list.html:14
|
||||
msgid "Date"
|
||||
msgstr "Datum"
|
||||
|
||||
#: src/maistar_ranking/templates/maistar_ranking/player_game_list.html:15
|
||||
#: .\maistar_ranking\templates\maistar_ranking\player_game_list.html:15
|
||||
msgid "Event"
|
||||
msgstr "Veranstaltung"
|
||||
|
||||
#: src/maistar_ranking/templates/maistar_ranking/player_game_list.html:16
|
||||
#: .\maistar_ranking\templates\maistar_ranking\player_game_list.html:16
|
||||
msgid "Players"
|
||||
msgstr "Spieler"
|
||||
|
||||
#: src/maistar_ranking/templates/maistar_ranking/ranking_list.html:4
|
||||
#: .\maistar_ranking\templates\maistar_ranking\ranking_list.html:4
|
||||
msgid "Mai-Star Ranking"
|
||||
msgstr "Mai-Star Platzierung"
|
||||
|
||||
#: src/maistar_ranking/templates/maistar_ranking/ranking_list.html:10
|
||||
#: src/maistar_ranking/templates/maistar_ranking/ranking_list.html:18
|
||||
#: .\maistar_ranking\templates\maistar_ranking\ranking_list.html:10
|
||||
#: .\maistar_ranking\templates\maistar_ranking\ranking_list.html:18
|
||||
msgid "Placement"
|
||||
msgstr "Platzierung"
|
||||
|
||||
#: src/maistar_ranking/templates/maistar_ranking/ranking_list.html:11
|
||||
#: .\maistar_ranking\templates\maistar_ranking\ranking_list.html:11
|
||||
msgid "Avatar"
|
||||
msgstr "Avatar"
|
||||
|
||||
#: src/maistar_ranking/templates/maistar_ranking/ranking_list.html:12
|
||||
#: .\maistar_ranking\templates\maistar_ranking\ranking_list.html:12
|
||||
msgid "Nickname"
|
||||
msgstr "Spitzname"
|
||||
|
||||
#: src/maistar_ranking/templates/maistar_ranking/ranking_list.html:13
|
||||
#: .\maistar_ranking\templates\maistar_ranking\ranking_list.html:13
|
||||
msgid "Name"
|
||||
msgstr "Name"
|
||||
|
||||
#: src/maistar_ranking/templates/maistar_ranking/ranking_list.html:14
|
||||
#: .\maistar_ranking\templates\maistar_ranking\ranking_list.html:14
|
||||
msgid "Average"
|
||||
msgstr "Durchschnitt"
|
||||
|
||||
#: src/maistar_ranking/templates/maistar_ranking/ranking_list.html:15
|
||||
#: .\maistar_ranking\templates\maistar_ranking\ranking_list.html:15
|
||||
msgid "Games"
|
||||
msgstr "Spiele"
|
||||
|
||||
#: src/maistar_ranking/templates/maistar_ranking/ranking_list.html:20
|
||||
#: .\maistar_ranking\templates\maistar_ranking\ranking_list.html:20
|
||||
msgid "count"
|
||||
msgstr "Anzahl"
|
||||
|
||||
#: src/maistar_ranking/templates/maistar_ranking/ranking_list.html:21
|
||||
#: .\maistar_ranking\templates\maistar_ranking\ranking_list.html:21
|
||||
msgid "good"
|
||||
msgstr "Gut"
|
||||
|
||||
#: src/maistar_ranking/templates/maistar_ranking/ranking_list.html:22
|
||||
#: .\maistar_ranking\templates\maistar_ranking\ranking_list.html:22
|
||||
msgid "won"
|
||||
msgstr "Gewonnen"
|
||||
|
||||
#: src/maistar_ranking/templates/maistar_ranking/ranking_list.html:43
|
||||
#: .\maistar_ranking\templates\maistar_ranking\ranking_list.html:43
|
||||
msgid ""
|
||||
"Unfortunately, nobody has it been done in the ranking.\n"
|
||||
" A player must have 6 games done, to be added to the ranking."
|
||||
@@ -229,15 +229,15 @@ msgstr ""
|
||||
"als 6 Spiele innerhalb einer Saison absolviert haben, werden für das "
|
||||
"Endergebnis nicht gewertet."
|
||||
|
||||
#: src/maistar_ranking/templates/maistar_ranking/ranking_list.html:52
|
||||
#: .\maistar_ranking\templates\maistar_ranking\ranking_list.html:52
|
||||
msgid "Latest Games"
|
||||
msgstr "Letzten Spiele"
|
||||
|
||||
#: src/maistar_ranking/templates/maistar_ranking/ranking_list.html:63
|
||||
#: .\maistar_ranking\templates\maistar_ranking\ranking_list.html:63
|
||||
msgid "Latest Events"
|
||||
msgstr "Letzten Veranstaltungen"
|
||||
|
||||
#: src/maistar_ranking/templates/maistar_ranking/ranking_list.html:70
|
||||
#: .\maistar_ranking\templates\maistar_ranking\ranking_list.html:70
|
||||
msgid "Ladder Archive"
|
||||
msgstr "Archiv"
|
||||
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
""" Admin Interface to manage the memberships."""
|
||||
# import stuff we need from django
|
||||
from django.contrib import admin
|
||||
from django.contrib import admin, messages
|
||||
from django.contrib.auth.admin import UserAdmin, GroupAdmin
|
||||
from django.contrib.auth.models import Group
|
||||
from django.core.exceptions import PermissionDenied
|
||||
from django.utils.translation import ugettext as _
|
||||
from easy_thumbnails import fields, widgets
|
||||
|
||||
from membership.models import Membership, ActivationRequest
|
||||
|
||||
|
||||
@@ -16,13 +16,14 @@ def activate_user(modeladmin, request, queryset):
|
||||
:param request: An HttpRequest representing the current request.
|
||||
:param queryset: A QuerySet containing the objects selected by the user.
|
||||
"""
|
||||
[activation.activate() for activation in queryset ]
|
||||
[activation.activate() for activation in queryset]
|
||||
|
||||
|
||||
activate_user.short_description = _('Activate selected User')
|
||||
|
||||
|
||||
def cleanup_activation(modeladmin, request, queryset): # Ignore PyLintBear (W0613)
|
||||
def cleanup_activation(modeladmin, request,
|
||||
queryset): # Ignore PyLintBear (W0613)
|
||||
"""Delete every selected activation request that has been expired.
|
||||
|
||||
:param modeladmin: The ModelAdmin that triggered this action.
|
||||
@@ -38,6 +39,33 @@ cleanup_activation.short_description = _(
|
||||
"Cleanup selected Activation Requests")
|
||||
|
||||
|
||||
def clear_personal_data(modeladmin, request, queryset):
|
||||
"""deactivates the account and removes all personal user information.
|
||||
|
||||
:param modeladmin: The ModelAdmin that triggered this action.
|
||||
:param request: An HttpRequest representing the current request.
|
||||
:param queryset: A QuerySet containing the objects selected by the user.
|
||||
"""
|
||||
cleared_memberships = 0
|
||||
if not modeladmin.has_delete_permission(request):
|
||||
raise PermissionDenied
|
||||
for membership in queryset:
|
||||
if membership.membership == False:
|
||||
[ setattr(membership, fieldname, None) for fieldname in membership.nullable_personal_data ]
|
||||
[ setattr(membership, fieldname, "") for fieldname in membership.blankable_personal_data ]
|
||||
membership.is_active = False
|
||||
membership.confirmed = False
|
||||
membership.membership = False
|
||||
membership.save()
|
||||
cleared_memberships += 1
|
||||
else:
|
||||
modeladmin.message_user(request, _("Can't remove personal data from active member %s.") % membership.username, messages.ERROR)
|
||||
if cleared_memberships > 0:
|
||||
modeladmin.message_user(request, _("Cleared %d personal data profiles.") % cleared_memberships, messages.INFO)
|
||||
|
||||
clear_personal_data.short_description = _("Clear personal Data")
|
||||
|
||||
|
||||
class ProxyGroup(Group):
|
||||
"""A Proxy to list Usergroups from django.contrib.auth here."""
|
||||
|
||||
@@ -50,6 +78,8 @@ class ProxyGroup(Group):
|
||||
|
||||
class MembershipAdmin(UserAdmin):
|
||||
"""Admin interface to manage membership. e.g. users."""
|
||||
actions = [clear_personal_data, ]
|
||||
|
||||
formfield_overrides = {
|
||||
fields.ThumbnailerImageField: {
|
||||
'widget': widgets.ImageClearableFileInput},
|
||||
@@ -62,9 +92,9 @@ class MembershipAdmin(UserAdmin):
|
||||
'is_active',
|
||||
'membership',
|
||||
'confirmed',
|
||||
'paid_until',
|
||||
'last_login',
|
||||
)
|
||||
list_editable = ('confirmed', 'paid_until',)
|
||||
list_editable = ('confirmed', )
|
||||
list_display_links = ('username',)
|
||||
fieldsets = (
|
||||
(None, {'fields': (('username', 'password'), 'gender', 'avatar',
|
||||
|
||||
@@ -3,16 +3,16 @@ Created on 03.10.2011
|
||||
|
||||
@author: Christian
|
||||
"""
|
||||
|
||||
from datetime import date, timedelta
|
||||
from captcha.fields import ReCaptchaField
|
||||
from django import forms
|
||||
from django.conf import settings
|
||||
from django.contrib import auth
|
||||
from django.contrib.sites.models import Site
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
|
||||
from utils.massmailer import MassMailer
|
||||
from . import models
|
||||
from content.models import Page
|
||||
|
||||
|
||||
class MembershipForm(forms.ModelForm):
|
||||
@@ -25,6 +25,10 @@ class MembershipForm(forms.ModelForm):
|
||||
help_text=_('Input format: yyyy-mm-dd')
|
||||
)
|
||||
email = forms.EmailField(label=_('Email'), required=True)
|
||||
required_membership_fields = (
|
||||
'first_name', 'last_name', 'birthday',
|
||||
'street_name', 'post_code', 'city'
|
||||
)
|
||||
|
||||
class Meta:
|
||||
"""get the user model dyamicly"""
|
||||
@@ -35,36 +39,22 @@ class MembershipForm(forms.ModelForm):
|
||||
'post_code', 'city'
|
||||
)
|
||||
|
||||
def clean_birthday(self):
|
||||
"""If the user wants to be a member the birthday field is mandatory."""
|
||||
if self.cleaned_data['membership'] \
|
||||
and not self.cleaned_data['birthday']:
|
||||
raise forms.ValidationError(_('For your membership, we need this. \
|
||||
Please fill out this field yet.'))
|
||||
return self.cleaned_data['birthday']
|
||||
|
||||
def clean_street_name(self):
|
||||
"""If the user wants to be a member the address is mandatory."""
|
||||
if self.cleaned_data['membership'] \
|
||||
and not self.cleaned_data['street_name']:
|
||||
raise forms.ValidationError(_('For your membership, we need this. \
|
||||
Please fill out this field yet.'))
|
||||
return self.cleaned_data['street_name']
|
||||
|
||||
def clean_post_code(self):
|
||||
"""If the user wants to be a member the address is mandatory."""
|
||||
if self.cleaned_data['membership'] \
|
||||
and not self.cleaned_data['post_code']:
|
||||
raise forms.ValidationError(_('For your membership, we need this. \
|
||||
Please fill out this field yet.'))
|
||||
return self.cleaned_data['post_code']
|
||||
|
||||
def clean_city(self):
|
||||
"""If the user wants to be a member the address is mandatory."""
|
||||
if self.cleaned_data['membership'] and not self.cleaned_data['city']:
|
||||
raise forms.ValidationError(_('For your membership, we need this. \
|
||||
Please fill out this field yet.'))
|
||||
return self.cleaned_data['city']
|
||||
def clean(self):
|
||||
cleaned_data = super().clean()
|
||||
errormsg = _('For your membership, we need this. \
|
||||
Please fill out this field yet.')
|
||||
membership = cleaned_data.get('membership')
|
||||
for fieldname in self.required_membership_fields:
|
||||
if membership and not cleaned_data.get(fieldname):
|
||||
self.add_error(fieldname, errormsg)
|
||||
if membership and cleaned_data.get('birthday'):
|
||||
birthday = cleaned_data.get('birthday')
|
||||
today = date.today()
|
||||
age = today.year - birthday.year - (
|
||||
(today.month, today.day) < (birthday.month, birthday.day))
|
||||
if age < 16:
|
||||
self.add_error('birthday',
|
||||
'Midestalter für Mitlieder ist 16 Jahre!')
|
||||
|
||||
|
||||
class RegistrationForm(MembershipForm):
|
||||
@@ -78,6 +68,18 @@ class RegistrationForm(MembershipForm):
|
||||
widget=forms.PasswordInput(), label=_('password'))
|
||||
password2 = forms.CharField(
|
||||
widget=forms.PasswordInput(), label=_('password (again)'))
|
||||
privacy_policy = forms.BooleanField(
|
||||
label=_('Privacy policy'),
|
||||
help_text=_(
|
||||
'I have read and understood the <a href="%s">privacy policy</a>') %
|
||||
Page.objects.get(slug='privacypolicy').get_absolute_url())
|
||||
membership = forms.BooleanField(
|
||||
label=_('Membership'),
|
||||
help_text=_(
|
||||
'Yes, I confirm that I am in agreement with the '
|
||||
'<a href="%s">statutes</a> and would like to become a member.') %
|
||||
Page.objects.get(slug='statutes').get_absolute_url())
|
||||
|
||||
recaptcha = ReCaptchaField()
|
||||
|
||||
class Meta:
|
||||
@@ -86,7 +88,7 @@ class RegistrationForm(MembershipForm):
|
||||
fields = ('first_name', 'last_name', 'username', 'email',
|
||||
'username', 'gender', 'first_name', 'last_name', 'email',
|
||||
'avatar',
|
||||
'website', 'membership', 'birthday', 'telephone',
|
||||
'membership', 'birthday', 'telephone',
|
||||
'street_name',
|
||||
'post_code', 'city'
|
||||
)
|
||||
@@ -122,7 +124,7 @@ class RegistrationForm(MembershipForm):
|
||||
def save(self, commit=True):
|
||||
""" Create the new User, set him/her inactive, create an acitivation
|
||||
request for the user and send him/her an activation email.
|
||||
|
||||
|
||||
:param commit: commit the SQL and send the email if True
|
||||
:return: the created User Object
|
||||
"""
|
||||
|
||||
@@ -7,8 +7,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: kasu.membership\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-01-11 22:50+0100\n"
|
||||
"PO-Revision-Date: 2018-01-12 15:22+0105\n"
|
||||
"POT-Creation-Date: 2018-05-08 00:17+0200\n"
|
||||
"PO-Revision-Date: 2018-05-08 00:19+0105\n"
|
||||
"Last-Translator: b'Christian Berg <kasu@xendynastie.at>'\n"
|
||||
"Language-Team: Kasu <verein@kasu.at>\n"
|
||||
"Language: de\n"
|
||||
@@ -17,167 +17,200 @@ msgstr ""
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Generator: Poedit 1.8.9\n"
|
||||
"X-Translated-Using: django-rosetta 0.7.14\n"
|
||||
"X-Translated-Using: django-rosetta 0.8.1\n"
|
||||
|
||||
#: src/membership/__init__.py:11
|
||||
#: .\membership\__init__.py:11
|
||||
msgid "Male"
|
||||
msgstr "Männlich"
|
||||
|
||||
#: src/membership/__init__.py:12
|
||||
#: .\membership\__init__.py:12
|
||||
msgid "Female"
|
||||
msgstr "Weiblich"
|
||||
|
||||
#: src/membership/admin.py:22
|
||||
#: .\membership\admin.py:22
|
||||
msgid "Activate selected User"
|
||||
msgstr "Ausgewählte Benutzer freischalten"
|
||||
|
||||
#: src/membership/admin.py:38
|
||||
#: .\membership\admin.py:39
|
||||
msgid "Cleanup selected Activation Requests"
|
||||
msgstr "Ausgewählte Aktivierungsanfragen bereinigen"
|
||||
|
||||
#: src/membership/admin.py:47
|
||||
#: .\membership\admin.py:62
|
||||
#, python-format
|
||||
msgid "Can't remove personal data from active member %s."
|
||||
msgstr ""
|
||||
"Persönliche Daten von aktiven Mitglied %s können nicht entfernt werden."
|
||||
|
||||
#: .\membership\admin.py:64
|
||||
#, python-format
|
||||
msgid "Cleared %d personal data profiles."
|
||||
msgstr "Persönliche Daten in %d Profilen entfernt."
|
||||
|
||||
#: .\membership\admin.py:66
|
||||
msgid "Clear personal Data"
|
||||
msgstr "Persönliche Daten bereinigen"
|
||||
|
||||
#: .\membership\admin.py:75
|
||||
msgid "Group"
|
||||
msgstr "Gruppe"
|
||||
|
||||
#: src/membership/admin.py:48
|
||||
#: .\membership\admin.py:76
|
||||
msgid "Groups"
|
||||
msgstr "Gruppen"
|
||||
|
||||
#: src/membership/admin.py:72 src/membership/models.py:163
|
||||
#: src/membership/models.py:216
|
||||
#: src/membership/templates/membership/register_form.html:32
|
||||
#: .\membership\admin.py:102 .\membership\forms.py:78
|
||||
#: .\membership\models.py:163 .\membership\models.py:218
|
||||
msgid "Membership"
|
||||
msgstr "Mitgliedschaft"
|
||||
|
||||
#: src/membership/admin.py:77
|
||||
#: .\membership\admin.py:107
|
||||
msgid "Permissions"
|
||||
msgstr "Berechtigung"
|
||||
|
||||
#: src/membership/admin.py:79
|
||||
#: .\membership\admin.py:109
|
||||
msgid "Important dates"
|
||||
msgstr "Wichtige Daten"
|
||||
|
||||
#: src/membership/forms.py:23
|
||||
#: .\membership\forms.py:24
|
||||
#: .\membership\templates\membership\membership_detail.html:46
|
||||
msgid "birthday"
|
||||
msgstr "Geburtstag"
|
||||
|
||||
#: src/membership/forms.py:25
|
||||
#: .\membership\forms.py:26
|
||||
msgid "Input format: yyyy-mm-dd"
|
||||
msgstr "Eingabeformat: tt.mm.jjjj"
|
||||
|
||||
#: src/membership/forms.py:27
|
||||
#: .\membership\forms.py:28
|
||||
#: .\membership\templates\membership\membership_detail.html:48
|
||||
msgid "Email"
|
||||
msgstr "E-Mail"
|
||||
|
||||
#: src/membership/forms.py:42 src/membership/forms.py:50
|
||||
#: src/membership/forms.py:58
|
||||
#: .\membership\forms.py:45
|
||||
msgid ""
|
||||
"For your membership, we need this. Please fill out this field "
|
||||
"yet."
|
||||
msgstr "Diese Angabe wird für eine Mitgliedschaft benötigt, bitte ausfüllen."
|
||||
|
||||
#: src/membership/forms.py:65
|
||||
msgid ""
|
||||
"For your membership, we need this. Please fill out this field "
|
||||
"yet."
|
||||
msgstr "Diese Angabe wird für eine Mitgliedschaft benötigt, bitte ausfüllen."
|
||||
|
||||
#: src/membership/forms.py:78
|
||||
#: .\membership\forms.py:69
|
||||
msgid "password"
|
||||
msgstr "Passwort"
|
||||
|
||||
#: src/membership/forms.py:80
|
||||
#: .\membership\forms.py:71
|
||||
msgid "password (again)"
|
||||
msgstr "Passwort (wiederholen)"
|
||||
|
||||
#: src/membership/forms.py:102
|
||||
#: .\membership\forms.py:73
|
||||
msgid "Privacy policy"
|
||||
msgstr "Datenschutzerklärung"
|
||||
|
||||
#: .\membership\forms.py:75
|
||||
#, python-format
|
||||
msgid "I have read and understood the <a href=\"%s\">privacy policy</a>"
|
||||
msgstr ""
|
||||
"Ich habe die <a href=\"%s\"> Datenschutzerklärung</a> gelesen und verstanden"
|
||||
|
||||
#: .\membership\forms.py:80
|
||||
#, python-format
|
||||
#| msgid ""
|
||||
#| "Yes, I confirm that I am in agreement with the statutes and would "
|
||||
#| "like to become a member."
|
||||
msgid ""
|
||||
"Yes, I confirm that I am in agreement with the <a href=\"%s\">statutes</a> "
|
||||
"and would like to become a member."
|
||||
msgstr ""
|
||||
"Ja, ich bin mit den <a href=\"%s\">Statuen</a> einverstanden und möchte "
|
||||
"Mitglied werden."
|
||||
|
||||
#: .\membership\forms.py:105
|
||||
msgid "This username is already taken. Please choose another."
|
||||
msgstr ""
|
||||
"Diesen Benutzername ist schon vergeben. Bitte einen anderen auswählen."
|
||||
|
||||
#: src/membership/forms.py:109
|
||||
#: .\membership\forms.py:112
|
||||
msgid ""
|
||||
"This email address is already in use. Please supply a different "
|
||||
"email address."
|
||||
msgstr "Die E-Mail Adresse wird schon verwendet. Bitte eine andere angeben."
|
||||
|
||||
#: src/membership/forms.py:119
|
||||
#: .\membership\forms.py:122
|
||||
msgid "The two password fields didn't match."
|
||||
msgstr "Die beiden Passwörter passen nicht."
|
||||
|
||||
#: src/membership/models.py:84
|
||||
#: .\membership\models.py:84
|
||||
msgid "user"
|
||||
msgstr "Benutzer"
|
||||
|
||||
#: src/membership/models.py:86
|
||||
#: .\membership\models.py:86
|
||||
msgid "activation key"
|
||||
msgstr "Aktivierungsschlüssel"
|
||||
|
||||
#: src/membership/models.py:90
|
||||
#: .\membership\models.py:90
|
||||
msgid "pending activation"
|
||||
msgstr "Ausstehende Aktivierung"
|
||||
|
||||
#: src/membership/models.py:91
|
||||
#: .\membership\models.py:91
|
||||
msgid "pending activations"
|
||||
msgstr "Wartende Aktivierungen"
|
||||
|
||||
#: src/membership/models.py:94
|
||||
#: .\membership\models.py:94
|
||||
#, python-format
|
||||
msgid "user registration for %s"
|
||||
msgstr "Benutzerregistrierung für %s"
|
||||
|
||||
#: src/membership/models.py:149
|
||||
#: .\membership\models.py:149
|
||||
msgid "Gender"
|
||||
msgstr "Geschlecht"
|
||||
|
||||
#: src/membership/models.py:165
|
||||
#: .\membership\models.py:165
|
||||
msgid ""
|
||||
"Yes, I confirm that I am in agreement with the statutes and would "
|
||||
"like to become a member."
|
||||
msgstr "Ja, ich bin mit den Statuen einverstanden und möchte Mitglied werden."
|
||||
|
||||
#: src/membership/models.py:169
|
||||
#: .\membership\models.py:169
|
||||
msgid "Birthday Date"
|
||||
msgstr "Geburtstag"
|
||||
|
||||
#: src/membership/models.py:173
|
||||
#: .\membership\models.py:173
|
||||
#: .\membership\templates\membership\membership_detail.html:49
|
||||
msgid "Telephone"
|
||||
msgstr "Telefon"
|
||||
|
||||
#: src/membership/models.py:179
|
||||
#: .\membership\models.py:179
|
||||
#: .\membership\templates\membership\membership_detail.html:47
|
||||
msgid "Address"
|
||||
msgstr "Adresse"
|
||||
|
||||
#: src/membership/models.py:185
|
||||
#: .\membership\models.py:185
|
||||
msgid "Postcode"
|
||||
msgstr "Postleitzahl"
|
||||
|
||||
#: src/membership/models.py:190
|
||||
#: .\membership\models.py:190
|
||||
msgid "Town/City"
|
||||
msgstr "Ort"
|
||||
|
||||
#: src/membership/models.py:198
|
||||
#: .\membership\models.py:198
|
||||
msgid "Paid until"
|
||||
msgstr "Bezahlt bis"
|
||||
|
||||
#: src/membership/models.py:204
|
||||
#: .\membership\models.py:204
|
||||
msgid "Confirmed"
|
||||
msgstr "Bestätigt"
|
||||
|
||||
#: src/membership/models.py:206
|
||||
#: .\membership\models.py:206
|
||||
msgid "This person has paid the membership fee."
|
||||
msgstr "Diese Person hat ihre Mitgliedschaft bezahlt"
|
||||
|
||||
#: src/membership/models.py:217
|
||||
#: .\membership\models.py:219
|
||||
msgid "Memberships"
|
||||
msgstr "Mitgliedschaften"
|
||||
|
||||
#: src/membership/templates/membership/email/activation_email.txt:2
|
||||
#: .\membership\templates\membership\email\activation_email.txt:2
|
||||
#, python-format
|
||||
msgid "Welcome %(user)s,"
|
||||
msgstr "Herzlich willkommen %(user)s,"
|
||||
|
||||
#: src/membership/templates/membership/email/activation_email.txt:4
|
||||
#: .\membership\templates\membership\email\activation_email.txt:4
|
||||
#, python-format
|
||||
msgid ""
|
||||
"We received an account request on %(site.domain)s for your email address.\n"
|
||||
@@ -186,7 +219,7 @@ msgstr ""
|
||||
"Jemand (hoffentlich du selbst) möchte mit dieser E-Mail Adresse einen neuen Benutzer Account für %(site.domain)s anlegen.\n"
|
||||
"Solltest du diesen Account aktivieren wollen, klicke bitte auf den unten stehenden Link, oder kopiere diesen in die Adresszeile deines Browsers:"
|
||||
|
||||
#: src/membership/templates/membership/email/activation_email.txt:9
|
||||
#: .\membership\templates\membership\email\activation_email.txt:9
|
||||
#, python-format
|
||||
msgid ""
|
||||
"If you do not want to open an account on %(site.domain)s, please ignore this email.\n"
|
||||
@@ -195,7 +228,7 @@ msgstr ""
|
||||
"Wenn du keinen Zugang für %(site.domain)s eröffnen willst, ignoriere diese E-Mail bitte.\n"
|
||||
"Die Zugangsdaten werden dann in ein paar Tagen automatisch gelöscht."
|
||||
|
||||
#: src/membership/templates/membership/email/activation_email.txt:12
|
||||
#: .\membership\templates\membership\email\activation_email.txt:12
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Best Regards,\n"
|
||||
@@ -204,308 +237,230 @@ msgstr ""
|
||||
"mit den besten Wünschen\n"
|
||||
"Das Team von %(site.domain)s"
|
||||
|
||||
#: src/membership/templates/membership/email/password_reset_email.html:2
|
||||
#: .\membership\templates\membership\email\password_reset_email.html:2
|
||||
msgid "You're receiving this e-mail because you requested a password reset"
|
||||
msgstr ""
|
||||
"Du hast diese E-Mail erhalten, weil jemand die das Passwort zurücksetzen "
|
||||
"möchte. "
|
||||
|
||||
#: src/membership/templates/membership/email/password_reset_email.html:3
|
||||
#: .\membership\templates\membership\email\password_reset_email.html:3
|
||||
#, python-format
|
||||
msgid "for your user account at %(site_name)s"
|
||||
msgstr "Für deinen Benutzerzugang auf %(site_name)s"
|
||||
|
||||
#: src/membership/templates/membership/email/password_reset_email.html:5
|
||||
#: .\membership\templates\membership\email\password_reset_email.html:5
|
||||
msgid "Please go to the following page and choose a new password:"
|
||||
msgstr "Bitte gehe auf folgende Seite und wähle ein neues Passwort aus:"
|
||||
|
||||
#: src/membership/templates/membership/email/password_reset_email.html:9
|
||||
#: .\membership\templates\membership\email\password_reset_email.html:9
|
||||
msgid "Your username, in case you've forgotten:"
|
||||
msgstr "Dein Benutzername, für den Fall das du diesen vergessen hast:"
|
||||
|
||||
#: src/membership/templates/membership/email/password_reset_email.html:11
|
||||
#: .\membership\templates\membership\email\password_reset_email.html:11
|
||||
msgid "Thanks for using our site!"
|
||||
msgstr "Danke das du unsere Seite verwendest!"
|
||||
|
||||
#: src/membership/templates/membership/email/password_reset_email.html:13
|
||||
#: .\membership\templates\membership\email\password_reset_email.html:13
|
||||
#, python-format
|
||||
msgid "The %(site_name)s team"
|
||||
msgstr "Das %(site_name)s Team"
|
||||
|
||||
#: src/membership/templates/membership/email/password_reset_subject.txt:2
|
||||
#: .\membership\templates\membership\email\password_reset_subject.txt:2
|
||||
#, python-format
|
||||
msgid "Password reset on %(site_name)s"
|
||||
msgstr "Passwort auf %(site_name)s zurücksetzen"
|
||||
|
||||
#: src/membership/templates/membership/hanchan_table.html:5
|
||||
#: .\membership\templates\membership\hanchan_table.html:5
|
||||
msgid "Start"
|
||||
msgstr "Beginn"
|
||||
|
||||
#: src/membership/templates/membership/hanchan_table.html:6
|
||||
#: .\membership\templates\membership\hanchan_table.html:6
|
||||
msgid "Event"
|
||||
msgstr "Termin"
|
||||
|
||||
#: src/membership/templates/membership/hanchan_table.html:7
|
||||
#: .\membership\templates\membership\hanchan_table.html:7
|
||||
msgid "Players"
|
||||
msgstr "Spieler"
|
||||
|
||||
#: src/membership/templates/membership/hanchan_table.html:8
|
||||
#: .\membership\templates\membership\hanchan_table.html:8
|
||||
msgid "Kyu Points"
|
||||
msgstr "Kyū Punkte"
|
||||
|
||||
#: src/membership/templates/membership/hanchan_table.html:9
|
||||
#: .\membership\templates\membership\hanchan_table.html:9
|
||||
msgid "Dan Points"
|
||||
msgstr "Dan Punkte"
|
||||
|
||||
#: src/membership/templates/membership/hanchan_table.html:10
|
||||
#: .\membership\templates\membership\hanchan_table.html:10
|
||||
msgid "Bonus Points"
|
||||
msgstr "Bonus Punkte"
|
||||
|
||||
#: src/membership/templates/membership/hanchan_table.html:11
|
||||
#: .\membership\templates\membership\hanchan_table.html:11
|
||||
msgid "Comment"
|
||||
msgstr "Anmerkung"
|
||||
|
||||
#: src/membership/templates/membership/hanchan_table.html:26
|
||||
#: .\membership\templates\membership\hanchan_table.html:26
|
||||
msgid "This Hanchan does not validate"
|
||||
msgstr "Diese Hanchan ist ungültig"
|
||||
|
||||
#: src/membership/templates/membership/membership_detail.html:6
|
||||
#: .\membership\templates\membership\membership_detail.html:5
|
||||
msgid "profile for"
|
||||
msgstr "Profil für"
|
||||
|
||||
#: src/membership/templates/membership/membership_detail.html:10
|
||||
#: .\membership\templates\membership\membership_detail.html:9
|
||||
msgid "Ladder Hanchans"
|
||||
msgstr "Ladder Hanchans"
|
||||
|
||||
#: src/membership/templates/membership/membership_detail.html:11
|
||||
#: .\membership\templates\membership\membership_detail.html:10
|
||||
msgid "Kyu Hanchans"
|
||||
msgstr "Kyū Hanchans"
|
||||
|
||||
#: src/membership/templates/membership/membership_detail.html:12
|
||||
#: .\membership\templates\membership\membership_detail.html:11
|
||||
msgid "Dan Hanchans"
|
||||
msgstr "Dan Hanchans"
|
||||
|
||||
#: src/membership/templates/membership/membership_detail.html:13
|
||||
#: .\membership\templates\membership\membership_detail.html:12
|
||||
msgid "Invalid Hanchans"
|
||||
msgstr "Ungültige Hanchans"
|
||||
|
||||
#: src/membership/templates/membership/membership_detail.html:14
|
||||
#: .\membership\templates\membership\membership_detail.html:13
|
||||
msgid "Mai-Star Games"
|
||||
msgstr "Mai-Star Spiele"
|
||||
|
||||
#: src/membership/templates/membership/membership_detail.html:20
|
||||
#: .\membership\templates\membership\membership_detail.html:17
|
||||
msgid "Profile Image"
|
||||
msgstr "Profilbild"
|
||||
|
||||
#: src/membership/templates/membership/membership_detail.html:28
|
||||
msgid "Member Since"
|
||||
msgstr "Mitglied seit"
|
||||
|
||||
#: src/membership/templates/membership/membership_detail.html:29
|
||||
msgid "Last Login"
|
||||
msgstr "Letzte Anmeldung"
|
||||
|
||||
#: src/membership/templates/membership/membership_detail.html:39
|
||||
#: src/membership/templates/membership/membership_detail.html:43
|
||||
#: .\membership\templates\membership\membership_detail.html:26
|
||||
#: .\membership\templates\membership\membership_detail.html:29
|
||||
msgid "Points"
|
||||
msgstr "Punkte"
|
||||
|
||||
#: src/membership/templates/membership/membership_detail.html:40
|
||||
#: .\membership\templates\membership\membership_detail.html:26
|
||||
msgid "Maximum"
|
||||
msgstr "Maximum"
|
||||
|
||||
#: src/membership/templates/membership/membership_detail.html:45
|
||||
#: .\membership\templates\membership\membership_detail.html:32
|
||||
msgid "Games Total"
|
||||
msgstr "Spiele gesamt"
|
||||
|
||||
#: src/membership/templates/membership/membership_detail.html:46
|
||||
#: src/membership/templates/membership/membership_detail.html:48
|
||||
#: .\membership\templates\membership\membership_detail.html:32
|
||||
#: .\membership\templates\membership\membership_detail.html:35
|
||||
msgid "Won"
|
||||
msgstr "Gewonnen"
|
||||
|
||||
#: src/membership/templates/membership/membership_detail.html:46
|
||||
#: src/membership/templates/membership/membership_detail.html:48
|
||||
#: .\membership\templates\membership\membership_detail.html:32
|
||||
#: .\membership\templates\membership\membership_detail.html:35
|
||||
msgid "Good"
|
||||
msgstr "Gut"
|
||||
|
||||
#: src/membership/templates/membership/membership_detail.html:48
|
||||
#: .\membership\templates\membership\membership_detail.html:35
|
||||
msgid "Current Season"
|
||||
msgstr "Aktuelle Saison"
|
||||
|
||||
#: src/membership/templates/membership/membership_detail.html:58
|
||||
msgid "Edit Profile"
|
||||
msgstr "Profil bearbeiten"
|
||||
#: .\membership\templates\membership\membership_detail.html:42
|
||||
msgid "private data"
|
||||
msgstr "Private Daten"
|
||||
|
||||
#: src/membership/templates/membership/membership_detail.html:62
|
||||
#: src/membership/templates/registration/password_change_form.html:23
|
||||
msgid "Change Password"
|
||||
msgstr "Passwort ändern"
|
||||
|
||||
#: src/membership/templates/membership/membership_detail.html:66
|
||||
#: src/membership/templates/membership/membership_detail.html:70
|
||||
#: src/membership/templates/membership/membership_detail.html:74
|
||||
#, python-format
|
||||
msgid "Associate with %(name)s"
|
||||
msgstr "Verbinde mit %(name)s"
|
||||
|
||||
#: src/membership/templates/membership/membership_form.html:4
|
||||
#: src/membership/templates/membership/membership_form.html:6
|
||||
#: src/membership/templates/membership/membership_form.html:11
|
||||
msgid "Edit Userprofile"
|
||||
msgstr "Profil bearbeiten"
|
||||
|
||||
#: src/membership/templates/membership/membership_form.html:15
|
||||
msgid "Reset"
|
||||
msgstr "Zurücksetzen"
|
||||
|
||||
#: src/membership/templates/membership/membership_form.html:16
|
||||
msgid "Save"
|
||||
msgstr "Speichern"
|
||||
|
||||
#: src/membership/templates/membership/register_form.html:4
|
||||
#: src/membership/templates/membership/register_form.html:7
|
||||
msgid "Registration"
|
||||
msgstr "Registrieren"
|
||||
|
||||
#: src/membership/templates/membership/register_form.html:9
|
||||
msgid ""
|
||||
"After you've provided your account data, you'll receive\n"
|
||||
" an email asking you to verify your email address. You have to click on the\n"
|
||||
" link in this verification email to confirm your email address, otherwise\n"
|
||||
" your can't login."
|
||||
#: .\membership\templates\membership\membership_detail.html:43
|
||||
msgid "This data can only be seen by yourself and members of the board."
|
||||
msgstr ""
|
||||
"Nach dem du deine Daten eingegeben hast, wirst du eine E-Mail zur Bestätigung bekommen.\n"
|
||||
"Bitte klicke auf den Link in dieser E-Mail zur Verifizierung, erst dann ist die Anmeldung möglich."
|
||||
"Diese Angaben können nur von dir selbst und von Mitgliedern des Vorstandes "
|
||||
"eingesehen werden."
|
||||
|
||||
#: src/membership/templates/membership/register_form.html:20
|
||||
#: .\membership\templates\membership\membership_detail.html:45
|
||||
msgid "name"
|
||||
msgstr "Name"
|
||||
|
||||
#: src/membership/templates/membership/register_form.html:26
|
||||
#: src/membership/templates/registration/login.html:41
|
||||
msgid "login"
|
||||
msgstr "Anmelden"
|
||||
#: .\membership\templates\membership\membership_detail.html:50
|
||||
msgid "Member Since"
|
||||
msgstr "Mitglied seit"
|
||||
|
||||
#: src/membership/templates/membership/register_form.html:39
|
||||
#: .\membership\templates\membership\membership_detail.html:51
|
||||
msgid "Last Login"
|
||||
msgstr "Letzte Anmeldung"
|
||||
|
||||
#: .\membership\templates\membership\membership_detail.html:54
|
||||
msgid "Edit Profile"
|
||||
msgstr "Profil bearbeiten"
|
||||
|
||||
#: .\membership\templates\membership\membership_detail.html:55
|
||||
#: .\membership\templates\registration\password_change_form.html:23
|
||||
msgid "Change Password"
|
||||
msgstr "Passwort ändern"
|
||||
|
||||
#: .\membership\templates\membership\membership_form.html:4
|
||||
#: .\membership\templates\membership\membership_form.html:6
|
||||
#: .\membership\templates\membership\membership_form.html:11
|
||||
msgid "Edit Userprofile"
|
||||
msgstr "Profil bearbeiten"
|
||||
|
||||
#: .\membership\templates\membership\membership_form.html:15
|
||||
msgid "Reset"
|
||||
msgstr "Zurücksetzen"
|
||||
|
||||
#: .\membership\templates\membership\membership_form.html:16
|
||||
msgid "Save"
|
||||
msgstr "Speichern"
|
||||
|
||||
#: .\membership\templates\membership\register_form.html:4
|
||||
msgid "Registration"
|
||||
msgstr "Registrieren"
|
||||
|
||||
#: .\membership\templates\membership\register_form.html:10
|
||||
msgid "Login crendentials"
|
||||
msgstr "Anmeldedaten"
|
||||
|
||||
#: .\membership\templates\membership\register_form.html:16
|
||||
msgid "Club membership"
|
||||
msgstr "Vereinsmitgliedschaft"
|
||||
|
||||
#: .\membership\templates\membership\register_form.html:27
|
||||
msgid "reset"
|
||||
msgstr "Zurücksetzen"
|
||||
|
||||
#: src/membership/templates/membership/register_form.html:41
|
||||
#: src/membership/templates/registration/login.html:35
|
||||
#: .\membership\templates\membership\register_form.html:29
|
||||
msgid "register"
|
||||
msgstr "Registrieren"
|
||||
|
||||
#: src/membership/templates/membership/register_successful.html:5
|
||||
#: src/membership/templates/membership/register_successful.html:7
|
||||
#: src/membership/templates/membership/register_successful.html:10
|
||||
#: .\membership\templates\membership\register_successful.html:5
|
||||
#: .\membership\templates\membership\register_successful.html:7
|
||||
#: .\membership\templates\membership\register_successful.html:10
|
||||
msgid "Activation sent"
|
||||
msgstr "Aktivierung wurde zugesendet"
|
||||
|
||||
#: src/membership/templates/registration/login.html:4
|
||||
#: src/membership/templates/registration/login.html:11
|
||||
#: src/membership/templates/registration/login.html:53
|
||||
#: src/membership/templates/registration/password_reset_complete.html:13
|
||||
msgid "Login"
|
||||
#: .\membership\templates\registration\login.html:17
|
||||
msgid "login"
|
||||
msgstr "Anmelden"
|
||||
|
||||
#: src/membership/templates/registration/login.html:17
|
||||
msgid "Have you already registered?"
|
||||
msgstr "Bereits registriert?"
|
||||
#: .\membership\templates\registration\login.html:19
|
||||
msgid "Your username and password didn't match. Please try again."
|
||||
msgstr "Anmeldung fehlgeschlagen, bitte Benutzername und Passwort überprüfen."
|
||||
|
||||
#: src/membership/templates/registration/login.html:18
|
||||
#| msgid ""
|
||||
#| "\n"
|
||||
#| "<p>As a registered member you can:</p>\n"
|
||||
#| "<ul>\n"
|
||||
#| " <li>leave comments on this page.</li>\n"
|
||||
#| " <li>subscribe to our Newsletter</li>\n"
|
||||
#| " <li>apply to a membership to our club</li>\n"
|
||||
#| " <li>club-members have access to our ranking-system</li>\n"
|
||||
#| "</ul>\n"
|
||||
msgid ""
|
||||
"\n"
|
||||
" <p>As a registered member you can:</p>\n"
|
||||
" <ul>\n"
|
||||
" <li>leave comments on this page.</li>\n"
|
||||
" <li>subscribe to our Newsletter</li>\n"
|
||||
" <li>apply to a membership to our club</li>\n"
|
||||
" <li>club-members have access to our ranking-system</li>\n"
|
||||
" </ul>\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"\n"
|
||||
"<p>Als registrierter auf dieser Seite kannst du:</p>\n"
|
||||
"<ul>\n"
|
||||
" <li>Kommentare auf dieser Seite hinterlassen.</li>\n"
|
||||
" <li>Dich für unseren Newsletter anmelden</li>\n"
|
||||
" <li>Mitglied in unserem Verein werden</li>\n"
|
||||
" <li>Vereinsmitglieder haben auch vollen Zugang zu unserem Ranking System</li>\n"
|
||||
"</ul>"
|
||||
|
||||
#: src/membership/templates/registration/login.html:27
|
||||
#| msgid ""
|
||||
#| "\n"
|
||||
#| "<p>You can register here with your Google, or Facebook account.\n"
|
||||
#| "If you don't own such an account, or do not want to use it for authentication,\n"
|
||||
#| "you can fill out our registration form.</p>\n"
|
||||
msgid ""
|
||||
"\n"
|
||||
" <p>You can register here with your Google, or Facebook account.\n"
|
||||
" If you don't own such an account, or do not want to use it for\n"
|
||||
" authentication,\n"
|
||||
" you can fill out our registration form.</p>\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"\n"
|
||||
"<p>Du kannst dich auch über deinen Facebook, Google, oder Twitter Account anmelden.\n"
|
||||
"Wenn du so etwas nicht besitzt, oder nicht verwenden möchtest, \n"
|
||||
"kannst du auch das Registrierungsformular ausfüllen.</p>"
|
||||
|
||||
#: src/membership/templates/registration/login.html:45
|
||||
#| msgid "Your username and password didn't match. Please try again."
|
||||
msgid ""
|
||||
"Your username and password didn't match. Please try\n"
|
||||
" again."
|
||||
msgstr ""
|
||||
"Benutzername und Passwort stimmen nicht überein. Bitte noch einmal "
|
||||
"versuchen."
|
||||
|
||||
#: src/membership/templates/registration/login.html:50
|
||||
#: .\membership\templates\registration\login.html:22
|
||||
msgid "Forgot your Password?"
|
||||
msgstr "Passwort vergessen?"
|
||||
|
||||
#: src/membership/templates/registration/login.html:60
|
||||
msgid "or login with an existing Account"
|
||||
msgstr "oder über einen existierenden Account anmelden"
|
||||
#: .\membership\templates\registration\login.html:26
|
||||
#: .\membership\templates\registration\password_reset_complete.html:13
|
||||
msgid "Login"
|
||||
msgstr "Anmelden"
|
||||
|
||||
#: src/membership/templates/registration/login.html:63
|
||||
msgid "Login with Facebook"
|
||||
msgstr "Über Facebook anmelden"
|
||||
|
||||
#: src/membership/templates/registration/login.html:66
|
||||
msgid "Login with Twitter"
|
||||
msgstr "Über Twitter anmelden"
|
||||
|
||||
#: src/membership/templates/registration/login.html:69
|
||||
msgid "Login with Google"
|
||||
msgstr "Über Google Anmelden"
|
||||
|
||||
#: src/membership/templates/registration/password_change_done.html:4
|
||||
#: src/membership/templates/registration/password_change_done.html:7
|
||||
#: .\membership\templates\registration\password_change_done.html:4
|
||||
#: .\membership\templates\registration\password_change_done.html:7
|
||||
msgid "Password change successful"
|
||||
msgstr "Benutzerprofil erfolgreich geändert."
|
||||
|
||||
#: src/membership/templates/registration/password_change_done.html:8
|
||||
#: .\membership\templates\registration\password_change_done.html:8
|
||||
msgid "Your password was changed."
|
||||
msgstr "Passwort geändet"
|
||||
|
||||
#: src/membership/templates/registration/password_change_form.html:4
|
||||
#: src/membership/templates/registration/password_change_form.html:9
|
||||
#: src/membership/templates/registration/password_change_form.html:16
|
||||
#: .\membership\templates\registration\password_change_form.html:4
|
||||
#: .\membership\templates\registration\password_change_form.html:9
|
||||
#: .\membership\templates\registration\password_change_form.html:16
|
||||
msgid "Password change"
|
||||
msgstr "Passwort wechseln"
|
||||
|
||||
#: src/membership/templates/registration/password_change_form.html:10
|
||||
#: .\membership\templates\registration\password_change_form.html:10
|
||||
msgid ""
|
||||
"Please enter your old password, for security's sake, and then enter your new"
|
||||
" password twice so we can verify you typed it in correctly."
|
||||
@@ -513,23 +468,23 @@ msgstr ""
|
||||
"Zur Sicherheit bitte altes Passwort einmal und das gewünschte neue Passwort"
|
||||
" zweimal angeben, so können Tippfehler abgefangen werden."
|
||||
|
||||
#: src/membership/templates/registration/password_reset_complete.html:4
|
||||
#: src/membership/templates/registration/password_reset_complete.html:6
|
||||
#: src/membership/templates/registration/password_reset_complete.html:9
|
||||
#: .\membership\templates\registration\password_reset_complete.html:4
|
||||
#: .\membership\templates\registration\password_reset_complete.html:6
|
||||
#: .\membership\templates\registration\password_reset_complete.html:9
|
||||
msgid "Password reset complete"
|
||||
msgstr "Das Rücksetzen des Passwortes ist abgeschlossen."
|
||||
|
||||
#: src/membership/templates/registration/password_reset_complete.html:10
|
||||
#: .\membership\templates\registration\password_reset_complete.html:10
|
||||
msgid "Your password has been set. You may go ahead and log in now."
|
||||
msgstr "Das Passwort wurde gesetzt, Du kannst dich nun damit anmelden."
|
||||
|
||||
#: src/membership/templates/registration/password_reset_confirm.html:4
|
||||
#: src/membership/templates/registration/password_reset_confirm.html:6
|
||||
#: src/membership/templates/registration/password_reset_confirm.html:15
|
||||
#: .\membership\templates\registration\password_reset_confirm.html:4
|
||||
#: .\membership\templates\registration\password_reset_confirm.html:6
|
||||
#: .\membership\templates\registration\password_reset_confirm.html:15
|
||||
msgid "Enter new password"
|
||||
msgstr "Neues Passwort eingeben"
|
||||
|
||||
#: src/membership/templates/registration/password_reset_confirm.html:12
|
||||
#: .\membership\templates\registration\password_reset_confirm.html:12
|
||||
msgid ""
|
||||
"Please enter your new password twice so we can verify you typed it in "
|
||||
"correctly."
|
||||
@@ -537,15 +492,15 @@ msgstr ""
|
||||
"Bitte das Passwort zweimal eingeben, um sicher zu stellen das es korrekt "
|
||||
"eingetippt wurde."
|
||||
|
||||
#: src/membership/templates/registration/password_reset_confirm.html:18
|
||||
#: .\membership\templates\registration\password_reset_confirm.html:18
|
||||
msgid "Change my password"
|
||||
msgstr "Passwort ändern"
|
||||
|
||||
#: src/membership/templates/registration/password_reset_confirm.html:26
|
||||
#: .\membership\templates\registration\password_reset_confirm.html:26
|
||||
msgid "Password reset unsuccessful"
|
||||
msgstr "Passwort rücksetzen fehlgeschlagen"
|
||||
|
||||
#: src/membership/templates/registration/password_reset_confirm.html:27
|
||||
#: .\membership\templates\registration\password_reset_confirm.html:27
|
||||
msgid ""
|
||||
"The password reset link was invalid, possibly because it has already been "
|
||||
"used. Please request a new password reset."
|
||||
@@ -553,22 +508,22 @@ msgstr ""
|
||||
"Der Link für die Rücksetzung des Passwortes war ungültig, vermutlich wurde "
|
||||
"er schon einmal benutzt. Bitte eine neue Rücksetzung beantragen."
|
||||
|
||||
#: src/membership/templates/registration/password_reset_done.html:4
|
||||
#: src/membership/templates/registration/password_reset_done.html:6
|
||||
#: src/membership/templates/registration/password_reset_done.html:12
|
||||
#: .\membership\templates\registration\password_reset_done.html:4
|
||||
#: .\membership\templates\registration\password_reset_done.html:6
|
||||
#: .\membership\templates\registration\password_reset_done.html:12
|
||||
msgid "Password reset successful"
|
||||
msgstr "Passwort erfolgreich zurückgesetzt."
|
||||
|
||||
#: src/membership/templates/registration/password_reset_form.html:4
|
||||
#: src/membership/templates/registration/password_reset_form.html:6
|
||||
#: .\membership\templates\registration\password_reset_form.html:4
|
||||
#: .\membership\templates\registration\password_reset_form.html:6
|
||||
msgid "Password reset"
|
||||
msgstr "Passwort zurücksetzen"
|
||||
|
||||
#: src/membership/templates/registration/password_reset_form.html:21
|
||||
#: .\membership\templates\registration\password_reset_form.html:21
|
||||
msgid "Transmit"
|
||||
msgstr "Übermitteln"
|
||||
|
||||
#: src/membership/views.py:61
|
||||
#: .\membership\views.py:61
|
||||
msgid ""
|
||||
"Activation successful. You can now login anytime with you username "
|
||||
"and password."
|
||||
@@ -576,15 +531,82 @@ msgstr ""
|
||||
"Die Aktivierung war erfolgreich. Du kannst dich ab jetzt jederzeit mit "
|
||||
"deinem Benutzernamen und Passwort anmelden."
|
||||
|
||||
#: src/membership/views.py:88
|
||||
#: .\membership\views.py:88
|
||||
msgid "User Profile changed successfully"
|
||||
msgstr "Benutzerprofil erfolgreich geändert."
|
||||
|
||||
#: src/membership/views.py:112
|
||||
#| msgid "No %(verbose_name)s found matching the query"
|
||||
#: .\membership\views.py:112
|
||||
msgid "No Membership found matching the query"
|
||||
msgstr "Kein Mitglied gefunden welche der Anfrage entspricht"
|
||||
|
||||
#~ msgid "Associate with %(name)s"
|
||||
#~ msgstr "Verbinde mit %(name)s"
|
||||
|
||||
#~ msgid "or"
|
||||
#~ msgstr "oder"
|
||||
|
||||
#~ msgid "Login with Facebook"
|
||||
#~ msgstr "Über Facebook anmelden"
|
||||
|
||||
#~ msgid "Login with Twitter"
|
||||
#~ msgstr "Über Twitter anmelden"
|
||||
|
||||
#~ msgid "Login with Google"
|
||||
#~ msgstr "Über Google Anmelden"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "After you've provided your account data, you'll receive\n"
|
||||
#~ " an email asking you to verify your email address. You have to click on the\n"
|
||||
#~ " link in this verification email to confirm your email address, otherwise\n"
|
||||
#~ " your can't login."
|
||||
#~ msgstr ""
|
||||
#~ "Nach dem du deine Daten eingegeben hast, wirst du eine E-Mail zur Bestätigung bekommen.\n"
|
||||
#~ "Bitte klicke auf den Link in dieser E-Mail zur Verifizierung, erst dann ist die Anmeldung möglich."
|
||||
|
||||
#~ msgid "Have you already registered?"
|
||||
#~ msgstr "Bereits registriert?"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "\n"
|
||||
#~ " <p>As a registered member you can:</p>\n"
|
||||
#~ " <ul>\n"
|
||||
#~ " <li>leave comments on this page.</li>\n"
|
||||
#~ " <li>subscribe to our Newsletter</li>\n"
|
||||
#~ " <li>apply to a membership to our club</li>\n"
|
||||
#~ " <li>club-members have access to our ranking-system</li>\n"
|
||||
#~ " </ul>\n"
|
||||
#~ " "
|
||||
#~ msgstr ""
|
||||
#~ "\n"
|
||||
#~ "<p>Als registrierter auf dieser Seite kannst du:</p>\n"
|
||||
#~ "<ul>\n"
|
||||
#~ " <li>Kommentare auf dieser Seite hinterlassen.</li>\n"
|
||||
#~ " <li>Dich für unseren Newsletter anmelden</li>\n"
|
||||
#~ " <li>Mitglied in unserem Verein werden</li>\n"
|
||||
#~ " <li>Vereinsmitglieder haben auch vollen Zugang zu unserem Ranking System</li>\n"
|
||||
#~ "</ul>"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "\n"
|
||||
#~ " <p>You can register here with your Google, or Facebook account.\n"
|
||||
#~ " If you don't own such an account, or do not want to use it for\n"
|
||||
#~ " authentication,\n"
|
||||
#~ " you can fill out our registration form.</p>\n"
|
||||
#~ " "
|
||||
#~ msgstr ""
|
||||
#~ "\n"
|
||||
#~ "<p>Du kannst dich auch über deinen Facebook, Google, oder Twitter Account anmelden.\n"
|
||||
#~ "Wenn du so etwas nicht besitzt, oder nicht verwenden möchtest, \n"
|
||||
#~ "kannst du auch das Registrierungsformular ausfüllen.</p>"
|
||||
|
||||
#~ msgid "or login with an existing Account"
|
||||
#~ msgstr "oder über einen existierenden Account anmelden"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "For your membership, we need this. Please fill out this field "
|
||||
#~ "yet."
|
||||
#~ msgstr "Diese Angabe wird für eine Mitgliedschaft benötigt, bitte ausfüllen."
|
||||
|
||||
#~ msgid "Given Name"
|
||||
#~ msgstr "Vorname"
|
||||
|
||||
|
||||
@@ -7,8 +7,8 @@ from os import path
|
||||
|
||||
from django.conf import settings
|
||||
from django.contrib.auth.models import AbstractUser
|
||||
from django.urls import reverse
|
||||
from django.db import models
|
||||
from django.urls import reverse
|
||||
from django.utils import timezone
|
||||
from django.utils.translation import ugettext as _
|
||||
from easy_thumbnails.fields import ThumbnailerImageField
|
||||
@@ -150,7 +150,7 @@ class Membership(AbstractUser):
|
||||
max_length=1,
|
||||
choices=GENDER_CHOICES,
|
||||
blank=True,
|
||||
null=True
|
||||
null=True,
|
||||
)
|
||||
website = models.URLField(blank=True)
|
||||
avatar = ThumbnailerImageField(
|
||||
@@ -206,8 +206,10 @@ class Membership(AbstractUser):
|
||||
help_text=_('This person has paid the membership fee.')
|
||||
)
|
||||
|
||||
# comment = models.TextField(blank=True)
|
||||
# objects = MembershipManager()
|
||||
nullable_personal_data = (
|
||||
'gender', 'birthday', 'telephone', 'street_name', 'post_code', 'city')
|
||||
blankable_personal_data = (
|
||||
'email', 'password', 'first_name', 'last_name', 'website',)
|
||||
|
||||
class Meta(object):
|
||||
"""To manage object ordering and dispalynames on the admin interface."""
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
{% extends "base.html" %}
|
||||
{% load i18n comments thumbnail %}
|
||||
{% extends "base.html" %}{% load i18n comments thumbnail %}
|
||||
|
||||
{% block title %}{{ membership.first_name }} {{membership.last_name}}{% endblock %}
|
||||
|
||||
@@ -7,84 +6,61 @@
|
||||
|
||||
{% block navigation %}
|
||||
<ul id="navigation">
|
||||
<li><a href="{% url 'player-ladder-score' membership.username %}">{% trans "Ladder Hanchans" %}</a></li>
|
||||
<li><a href="{% url 'player-kyu-score' membership.username %}">{% trans "Kyu Hanchans" %}</a></li>
|
||||
<li><a href="{% url 'player-dan-score' membership.username %}">{% trans "Dan Hanchans" %}</a></li>
|
||||
<li><a href="{% url 'player-invalid-score' membership.username %}">{% trans "Invalid Hanchans" %}</a></li>
|
||||
<li><a href="{% url 'maistar-player-games' membership.username %}">{% trans "Mai-Star Games" %}</a></li>
|
||||
</ul>
|
||||
{% endblock %}
|
||||
<li><a href="{% url 'player-ladder-score' membership.username %}">{% trans "Ladder Hanchans" %}</a></li>
|
||||
<li><a href="{% url 'player-kyu-score' membership.username %}">{% trans "Kyu Hanchans" %}</a></li>
|
||||
<li><a href="{% url 'player-dan-score' membership.username %}">{% trans "Dan Hanchans" %}</a></li>
|
||||
<li><a href="{% url 'player-invalid-score' membership.username %}">{% trans "Invalid Hanchans" %}</a></li>
|
||||
<li><a href="{% url 'maistar-player-games' membership.username %}">{% trans "Mai-Star Games" %}</a></li>
|
||||
</ul>{% endblock %}
|
||||
|
||||
{% block maincontent %}
|
||||
{% if membership.avatar %}
|
||||
<img class="grid_3" src="{% thumbnail membership.avatar '220x220' crop='smart' %}" alt="{% trans 'Profile Image' %}"/>
|
||||
{% else %}
|
||||
<div class="grid_3"> Noch kein Foto hoch geladen</div>
|
||||
{% endif %}
|
||||
{% block maincontent %}{% if membership.avatar %}
|
||||
<img class="grid_3" src="{% thumbnail membership.avatar '220x220' crop='smart' %}" alt="{% trans 'Profile Image' %}"/>{% else %}
|
||||
<div class="grid_3"> Noch kein Foto hoch geladen</div>{% endif %}
|
||||
|
||||
<div class="grid_6">
|
||||
<ul>
|
||||
<li><strong>Name:</strong> {{membership.first_name}} {{membership.last_name}}</li>
|
||||
<li><strong>{% trans "Member Since" %}:</strong> {{membership.date_joined}}</li>
|
||||
<li><strong>{% trans "Last Login" %}:</strong> {{membership.last_login}}</li>
|
||||
{% if website %}
|
||||
<li><strong>Homepage:</strong> <a href="{{website}}">{{website}}</a></li>
|
||||
{% endif %}
|
||||
</ul>
|
||||
{% if kyu_dan_ranking %}
|
||||
<h3>Mahjong</h3>
|
||||
<ul>
|
||||
{% if kyu_dan_ranking.dan %}
|
||||
<li>
|
||||
<strong>{{kyu_dan_ranking.dan}}. Dan: </strong> {{ kyu_dan_ranking.dan_points }} {% trans 'Points' %}
|
||||
({% trans 'Maximum' %}: {{ kyu_dan_ranking.max_dan_points }})
|
||||
</li>
|
||||
{% elif kyu_dan_ranking.kyu%}
|
||||
<li><strong>{{kyu_dan_ranking.kyu}}. Kyu: </strong> {{ kyu_dan_ranking.kyu_points }} {% trans 'Points' %}</li>
|
||||
{% endif %}
|
||||
<li><strong>{% trans 'Games Total' %}: </strong> {{ kyu_dan_ranking.hanchan_count }} Hanchans -
|
||||
{{kyu_dan_ranking.won_hanchans }} {% trans 'Won' %} / {{ kyu_dan_ranking.good_hanchans }} {% trans 'Good' %}
|
||||
</li>
|
||||
<li><strong>{% trans 'Current Season' %}: </strong> {{ ladder_ranking.hanchan_count }} Hanchans - {{ ladder_ranking.won_hanchans }} {% trans 'Won' %} / {{ ladder_ranking.good_hanchans }} {% trans 'Good' %}
|
||||
</li>
|
||||
</ul>
|
||||
<div class="{% if membership == user or perms.membership.change_membership%}grid_4{% else %}grid_9{% endif %}" >
|
||||
{% if kyu_dan_ranking %}
|
||||
<h3>Mahjong</h3>
|
||||
<ul>
|
||||
{% if kyu_dan_ranking.dan %}
|
||||
<li>
|
||||
<strong>{{kyu_dan_ranking.dan}}. Dan: </strong> {{ kyu_dan_ranking.dan_points }} {% trans 'Points' %} ({% trans 'Maximum' %}: {{ kyu_dan_ranking.max_dan_points }})
|
||||
</li>
|
||||
{% elif kyu_dan_ranking.kyu%}
|
||||
<li><strong>{{kyu_dan_ranking.kyu}}. Kyu: </strong> {{ kyu_dan_ranking.kyu_points }} {% trans 'Points' %}</li>
|
||||
{% endif %}
|
||||
<li>
|
||||
<strong>{% trans 'Games Total' %}: </strong> {{ kyu_dan_ranking.hanchan_count }} Hanchans - {{kyu_dan_ranking.won_hanchans }} {% trans 'Won' %} / {{ kyu_dan_ranking.good_hanchans }} {% trans 'Good' %}
|
||||
</li>
|
||||
<li>
|
||||
<strong>{% trans 'Current Season' %}: </strong> {{ ladder_ranking.hanchan_count }} Hanchans - {{ ladder_ranking.won_hanchans }} {% trans 'Won' %} / {{ ladder_ranking.good_hanchans }} {% trans 'Good' %}
|
||||
</li>
|
||||
</ul>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% if membership == user or perms.membership.change_membership%}
|
||||
<div class="grid_5">
|
||||
<h3>{% trans 'private data' %}</h3>
|
||||
<p>{% blocktrans %}This data can only be seen by yourself and members of the board.{% endblocktrans %} </p>
|
||||
<ul>
|
||||
{% if membership.first_name %}<li><strong>{% trans "name" %}:</strong> {{membership.first_name}} {{membership.last_name}}</li>{% endif %}
|
||||
{% if membership.birthday %}<li><strong>{% trans "birthday" %}:</strong> {{membership.birthday}}</li>{% endif %}
|
||||
{% if membership.street_name %}<li><strong>{% trans "Address" %}:</strong> <address>{{ membership.street_name }}<br/> {{ membership.post_code }} {{ membership.city }}</address></li>{% endif %}
|
||||
{% if membership.email %}<li><strong>{% trans "Email" %}:</strong> <a href="mailto:{{ membership.email }}">{{membership.email}}</a></li>{% endif %}
|
||||
{% if membership.telephone %}<li><strong>{% trans "Telephone" %}:</strong> <a href="tel:{{ membership.telephone }}">{{membership.telephone}}</a></li>{% endif %}
|
||||
<li><strong>{% trans "Member Since" %}:</strong> {{membership.date_joined}}</li>
|
||||
<li><strong>{% trans "Last Login" %}:</strong> {{membership.last_login}}</li>
|
||||
</ul>
|
||||
{% ifequal membership user %}
|
||||
<a href="{% url 'membership-edit' membership.username %}" class="button"> <span class="fa fa-pencil"></span> {% trans "Edit Profile" %} </a>
|
||||
<a href="{% url 'password_change' %}" class="button"> <span class="fa fa-key"></span> {% trans 'Change Password' %}</a>
|
||||
{% endifequal %}
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
{% ifequal membership user %}
|
||||
<div class="grid_3">
|
||||
<a href="{% url 'membership-edit' membership.username %}" class="button">
|
||||
<span class="fa fa-pencil"></span>
|
||||
{% trans "Edit Profile" %}
|
||||
</a>
|
||||
<a href="{% url 'password_change' %}" class="button">
|
||||
<span class="fa fa-key"></span>
|
||||
{% trans 'Change Password' %}
|
||||
</a>
|
||||
<a class="button" href="{% url 'social:begin' 'facebook' %}" rel="nofollow">
|
||||
<span class="fa fa-facebook"></span>
|
||||
{% blocktrans with 'Facebook' as name %}Associate with {{ name }}{% endblocktrans %}
|
||||
</a>
|
||||
<a class="button" href="{% url 'social:begin' 'twitter' %}" rel="nofollow">
|
||||
<span class="fa fa-twitter"></span>
|
||||
{% blocktrans with 'Twitter' as name %}Associate with {{ name }}{% endblocktrans %}
|
||||
</a>
|
||||
<a class="button" href="{% url 'social:begin' 'google-oauth2' %}" rel="nofollow">
|
||||
<span class="fa fa-google-plus"></span>
|
||||
{% blocktrans with 'Google' as name %}Associate with {{ name }}{% endblocktrans %}
|
||||
</a>
|
||||
|
||||
</div>
|
||||
{% endifequal %}
|
||||
|
||||
{% block score_list %} {% endblock %}
|
||||
{% endblock %}
|
||||
{% block score_list %} {% endblock %}{% endblock %}
|
||||
|
||||
{% block comments %}
|
||||
{% if membership %}
|
||||
{% render_comment_list for membership %}
|
||||
{% render_comment_form for membership %}
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
{% block comments %}{% if membership %}{% render_comment_list for membership %}{% render_comment_form for membership %}{% endif %}{% endblock %}
|
||||
|
||||
{% block buttonbar%}{%endblock%}
|
||||
|
||||
@@ -3,37 +3,25 @@
|
||||
|
||||
{% block title %}{% trans "Registration"%}{% endblock %}
|
||||
|
||||
{% block teaser%}
|
||||
<h1>{% trans "Registration"%}</h1>
|
||||
<div id="teaser_text">
|
||||
{% blocktrans %}After you've provided your account data, you'll receive
|
||||
an email asking you to verify your email address. You have to click on the
|
||||
link in this verification email to confirm your email address, otherwise
|
||||
your can't login.{% endblocktrans %}
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
||||
{% block maincontent %}
|
||||
<form method="post" action="{% url 'membership-register' %}">
|
||||
{% csrf_token %}
|
||||
<fieldset class="grid_5">
|
||||
<legend>{% trans "name"%}</legend>
|
||||
{% get_fieldset "gender, first_name, last_name, username" from form as form1 %}
|
||||
{% with form1 as form %}{% include "form.html" %}{% endwith %}
|
||||
</fieldset>
|
||||
|
||||
<fieldset class="grid_7">
|
||||
<legend>{% trans "login"%}</legend>
|
||||
{% get_fieldset "email, password1, password2, recaptcha" from form as form1 %}
|
||||
<legend>{% trans "Login crendentials"%}</legend>
|
||||
{% get_fieldset "username, email, password1, password2, privacy_policy, recaptcha" from form as form1 %}
|
||||
{% with form1 as form %}{% include "form.html" %}{% endwith %}
|
||||
</fieldset>
|
||||
|
||||
<fieldset class="grid_12">
|
||||
<legend>{% trans "Membership"%}</legend>
|
||||
{% get_fieldset "membership, birthday, street_name, post_code, city, telephone, website" from form as form2 %}
|
||||
<fieldset class="grid_5">
|
||||
<legend>{% trans "Club membership"%}</legend>
|
||||
{% get_fieldset "membership, first_name, last_name, gender, birthday, street_name, post_code, city, telephone" from form as form2 %}
|
||||
{% with form2 as form %}{% include "form.html" %}{% endwith %}
|
||||
</fieldset>
|
||||
|
||||
<div class="grid_12">
|
||||
{{ current_page.content }}
|
||||
</div>
|
||||
|
||||
<div class="grid_12">
|
||||
<p class="buttonbar">
|
||||
<button type="reset"><span class="fa fa-undo"></span> {% trans 'reset' %}
|
||||
@@ -42,4 +30,18 @@
|
||||
</p>
|
||||
</div>
|
||||
</form>
|
||||
{% endblock %}
|
||||
<script type="text/javascript">
|
||||
function togglePersonalData(event) {
|
||||
var membership = document.getElementById("id_membership").checked;
|
||||
var input_elements = ["id_first_name", "id_last_name", "id_gender", "id_birthday", "id_street_name", "id_post_code", "id_city", "id_telephone"];
|
||||
for (var i = 0; i < input_elements.length; i++) {
|
||||
element_id = input_elements[i]
|
||||
element = document.getElementById(element_id);
|
||||
element.disabled = !membership;
|
||||
};
|
||||
};
|
||||
|
||||
document.addEventListener('DOMContentLoaded',function() {document.querySelector('#id_membership').onchange=togglePersonalData;},false);
|
||||
togglePersonalData();
|
||||
</script>
|
||||
{% endblock %}
|
||||
|
||||
6
src/membership/templates/registration/logged_out.html
Executable file
6
src/membership/templates/registration/logged_out.html
Executable file
@@ -0,0 +1,6 @@
|
||||
{% extends "base.html" %}{% load i18n %}
|
||||
|
||||
{% block content %}
|
||||
{{ current_page.content }}
|
||||
{% endblock %}
|
||||
|
||||
@@ -1,72 +1,32 @@
|
||||
{% extends "base.html" %}
|
||||
{% load i18n %}
|
||||
{% extends "base.html" %}{% load i18n %}
|
||||
|
||||
{% block title %}{% trans 'Login' %}{% endblock %}
|
||||
{% block description %}Anmelden auf Kasu.at{% endblock %}
|
||||
|
||||
{% block extra_head %}
|
||||
<link rel="canonical" href="{% url 'login' %}"/>
|
||||
{% endblock %}
|
||||
<link rel="canonical" href="{% url 'login' %}"/>{% endblock %}
|
||||
|
||||
|
||||
{% block teaser %}<h1>{% trans 'Login' %}</h1>{% endblock %}
|
||||
{% block maincontent %}
|
||||
<form method="post" action="{% url 'login' %}">
|
||||
<h2 class="grid_12">Auf der Seite Anmelden</h2>
|
||||
|
||||
<div class="grid_7">
|
||||
<h2>{% trans "Have you already registered?" %}</h2>
|
||||
{% blocktrans %}
|
||||
<p>As a registered member you can:</p>
|
||||
<ul>
|
||||
<li>leave comments on this page.</li>
|
||||
<li>subscribe to our Newsletter</li>
|
||||
<li>apply to a membership to our club</li>
|
||||
<li>club-members have access to our ranking-system</li>
|
||||
</ul>
|
||||
{% endblocktrans %}
|
||||
{% blocktrans %}
|
||||
<p>You can register here with your Google, or Facebook account.
|
||||
If you don't own such an account, or do not want to use it for
|
||||
authentication,
|
||||
you can fill out our registration form.</p>
|
||||
{% endblocktrans %}
|
||||
<p class="buttonbar">
|
||||
<a href="{% url 'membership-register' %}" class="button"><span
|
||||
class="fa fa-user-plus"></span> {%trans "register"%}</a></p>
|
||||
</div>
|
||||
|
||||
|
||||
{% csrf_token %}
|
||||
<fieldset class="grid_5">
|
||||
<legend>{% trans 'login' %}</legend>
|
||||
{% csrf_token %}
|
||||
{% include 'form.html' %}
|
||||
{% if form.errors %}
|
||||
<p>{% blocktrans %}Your username and password didn't match. Please try
|
||||
again.{% endblocktrans %}</p>
|
||||
{% endif %}
|
||||
<input type="hidden" name="next" value="{{next}}"/>
|
||||
<p><a href="{% url 'password_reset' %}">
|
||||
{% trans 'Forgot your Password?'%}</a></p>
|
||||
<div class="buttonbar">
|
||||
<button type="submit"><span class="fa fa-sign-in"></span>
|
||||
{% trans 'Login' %}
|
||||
</button>
|
||||
</div>
|
||||
</fieldset>
|
||||
|
||||
|
||||
<div class="grid_5">
|
||||
<h2>{% trans "or login with an existing Account" %}</h2>
|
||||
<a rel="nofollow" href="{% url 'social:begin' 'facebook' %}"><span
|
||||
class="fa fa-facebook fa-5x"
|
||||
title="{% trans 'Login with Facebook' %}"></span></a>
|
||||
<a rel="nofollow" href="{% url 'social:begin' 'twitter' %}"><span
|
||||
class="fa fa-twitter fa-5x"
|
||||
title="{% trans 'Login with Twitter' %}"></span></a>
|
||||
<a rel="nofollow" href="{% url 'social:begin' 'google-oauth2' %}"><span
|
||||
class="fa fa-google-plus fa-5x"
|
||||
title="{% trans 'Login with Google' %}"></span></a>
|
||||
<div class="grid_6">
|
||||
{{ current_page.content }}
|
||||
</div>
|
||||
<div class="grid_6">
|
||||
<fieldset>
|
||||
<legend>{% trans 'login' %}</legend>
|
||||
{% csrf_token %} {% include 'form.html' %} {% if form.errors %}
|
||||
<p>{% blocktrans %}Your username and password didn't match. Please try again.{% endblocktrans %}</p>
|
||||
{% endif %} <input type="hidden" name="next" value="{{next}}"/>
|
||||
<p>
|
||||
<a href="{% url 'password_reset' %}"> {% trans 'Forgot your Password?'%}</a>
|
||||
</p>
|
||||
<div class="buttonbar">
|
||||
<button type="submit">
|
||||
<span class="fa fa-sign-in"></span> {% trans 'Login' %}
|
||||
</button>
|
||||
</div>
|
||||
</fieldset>
|
||||
</div>
|
||||
</form>
|
||||
{% endblock %}
|
||||
|
||||
@@ -9,6 +9,7 @@ from django.conf.urls import url
|
||||
from . import views
|
||||
|
||||
urlpatterns = [
|
||||
url(r'^$',views.MembershipDetail.as_view()),
|
||||
url(r'^activate/(?P<activation_key>[\d\w]+)/$',
|
||||
views.ActivateRegistration.as_view(),
|
||||
name='membership-activate-registration'),
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user