Kleine anpassungen für die Stablität der Seite.

* Methode Bilder zu löschen wurde geändert damit weniger Fehlermeldungen auftreten.
* kleine änderungen für PEP-8 kompatibiltät
* Nicht alle Seiten sind im Menü verankert, hier hat der Teaser-Block Fehler verursacht.
* reCaptcha wird keine IP Adresse übergeben (Das funktioniert leider nicht)
This commit is contained in:
Christian Berg
2015-02-08 11:33:13 +01:00
parent 9c2413a794
commit cb4b15b3c6
53 changed files with 259 additions and 243 deletions

2
.idea/dataSources.xml generated
View File

@@ -1,2 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4" />

7
.idea/encodings.xml generated
View File

@@ -1,7 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Encoding" useUTFGuessing="true" native2AsciiForPropertiesFiles="false">
<file url="file://$PROJECT_DIR$/kasu/static/css/kasu.less" charset="UTF-8" />
<file url="PROJECT" charset="UTF-8" />
</component>
</project>

48
.idea/kasu.iml generated
View File

@@ -1,48 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="PYTHON_MODULE" version="4">
<component name="FacetManager">
<facet type="django" name="Django">
<configuration>
<option name="rootFolder" value="$MODULE_DIR$" />
<option name="settingsModule" value="kasu/settings/dev.py" />
<option name="manageScript" value="manage.py" />
<option name="environment" value="&lt;map/&gt;" />
</configuration>
</facet>
</component>
<component name="NewModuleRootManager">
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/aggregator" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/content" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/events" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/kasu" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/gallery" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/mahjong_ranking" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/maistar_ranking" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/media" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/membership" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/utils" isTestSource="false" />
<excludeFolder url="file://$MODULE_DIR$/.idea" />
<excludeFolder url="file://$MODULE_DIR$/.settings" />
<excludeFolder url="file://$MODULE_DIR$/gallery/templates" />
<excludeFolder url="file://$MODULE_DIR$/media" />
<excludeFolder url="file://$MODULE_DIR$/static" />
<excludeFolder url="file://$MODULE_DIR$/virtenv" />
</content>
<orderEntry type="jdk" jdkName="Python 2.6.9 virtualenv at ~/workspace/kasu/virtenv" jdkType="Python SDK" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
<component name="TemplatesService">
<option name="TEMPLATE_CONFIGURATION" value="Django" />
<option name="TEMPLATE_FOLDERS">
<list>
<option value="$MODULE_DIR$/content/templates" />
<option value="$MODULE_DIR$/events/templates" />
<option value="$MODULE_DIR$/kasu/templates" />
<option value="$MODULE_DIR$/mahjong_ranking/templates" />
<option value="$MODULE_DIR$/maistar_ranking/templates" />
<option value="$MODULE_DIR$/membership/templates" />
</list>
</option>
</component>
</module>

4
.idea/misc.xml generated
View File

@@ -1,4 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectRootManager" version="2" project-jdk-name="Python 2.6.9 virtualenv at ~/workspace/kasu/virtenv" project-jdk-type="Python SDK" />
</project>

8
.idea/modules.xml generated
View File

@@ -1,8 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/.idea/kasu.iml" filepath="$PROJECT_DIR$/.idea/kasu.iml" />
</modules>
</component>
</project>

View File

@@ -1,5 +0,0 @@
<component name="DependencyValidationManager">
<state>
<option name="SKIP_IMPORT_STATEMENTS" value="false" />
</state>
</component>

6
.idea/vcs.xml generated
View File

@@ -1,6 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$" vcs="Git" />
</component>
</project>

View File

@@ -1,4 +1,5 @@
#!/bin/sh #!/bin/sh
source ./virtenv/bin/activate
echo "aktualisiere Übersetzungen..." echo "aktualisiere Übersetzungen..."
unset DJANGO_SETTINGS_MODULE unset DJANGO_SETTINGS_MODULE
for dir in * for dir in *

View File

@@ -11,8 +11,8 @@ from . import models
def content_menus(request): def content_menus(request):
current_page = None current_page = None
current_path = request.path_info[1:request.path_info.rfind('.')]
current_top_page = None current_top_page = None
current_path = request.path_info[1:request.path_info.rfind('.')]
# erzeuge das Top-Level Menü # erzeuge das Top-Level Menü
top_menu_items = [] top_menu_items = []

View File

@@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: kasu.content\n" "Project-Id-Version: kasu.content\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-12-14 01:12+0100\n" "POT-Creation-Date: 2015-01-05 19:23+0100\n"
"PO-Revision-Date: 2014-12-08 16:15+0100\n" "PO-Revision-Date: 2014-12-08 16:15+0100\n"
"Last-Translator: Christian Berg <xeniac.at@gmail.com>\n" "Last-Translator: Christian Berg <xeniac.at@gmail.com>\n"
"Language-Team: Kasu <verein@kasu.at>\n" "Language-Team: Kasu <verein@kasu.at>\n"
@@ -214,33 +214,34 @@ msgstr "Auf Twitter teilen"
msgid "Share on Facebook" msgid "Share on Facebook"
msgstr "Auf Facebook teilen" msgstr "Auf Facebook teilen"
#: templates/content/article_form.html:22 templates/content/page_form.html:29 #: templates/content/article_form.html:22 templates/content/page_form.html:40
#: templates/content/page_form.html:35 #: templates/content/page_form.html:46
msgid "German" msgid "German"
msgstr "Deutsch" msgstr "Deutsch"
#: templates/content/article_form.html:23 templates/content/page_form.html:30 #: templates/content/article_form.html:23 templates/content/page_form.html:41
#: templates/content/page_form.html:39 #: templates/content/page_form.html:50
msgid "English" msgid "English"
msgstr "Englisch" msgstr "Englisch"
#: templates/content/article_form.html:36 templates/content/page_form.html:50 #: templates/content/article_form.html:36 templates/content/page_form.html:61
msgid "reset" msgid "reset"
msgstr "Zurücksetzen" msgstr "Zurücksetzen"
#: templates/content/article_form.html:37 templates/content/page_form.html:51 #: templates/content/article_form.html:37 templates/content/page_form.html:62
msgid "save" msgid "save"
msgstr "Speichern" msgstr "Speichern"
#: templates/content/page_form.html:4 templates/content/page_form.html:24 #: templates/content/page_form.html:5 templates/content/page_form.html:35
msgid "Edit Page" msgid "Edit Page"
msgstr "Seite bearbeiten" msgstr "Seite bearbeiten"
#: templates/content/page_form.html:4 templates/content/page_form.html:24 #: templates/content/page_form.html:6 templates/content/page_form.html:20
#: templates/content/page_form.html:35
msgid "Add Page" msgid "Add Page"
msgstr "Seite hinzufügen" msgstr "Seite hinzufügen"
#: templates/content/page_form.html:45 #: templates/content/page_form.html:56
msgid "HTML Specific" msgid "HTML Specific"
msgstr "HTML spezifisch" msgstr "HTML spezifisch"

View File

@@ -21,7 +21,7 @@
{% if current_top_page.subpages %} {% if current_top_page.subpages %}
{% for subpage in current_top_page.subpages.all %} {% for subpage in current_top_page.subpages.all %}
{% if subpage.content_type > 0 %} {% if subpage.content_type > 0 %}
<h2><a href="{{ subpage.get_absolute_url }}">{{subpage.menu_name}}</a></h2> <h2><a href="{{ subpage.get_absolute_url }}">{{subpage.title}}</a></h2>
<ul class="list"> <ul class="list">
{% for subpage in subpage.subpages.all %} {% for subpage in subpage.subpages.all %}
<li class="{{subpage.css_class}}"><a href="{{ subpage.get_absolute_url }}">{{ subpage.menu_name }}</a></li> <li class="{{subpage.css_class}}"><a href="{{ subpage.get_absolute_url }}">{{ subpage.menu_name }}</a></li>

View File

@@ -1,16 +1,27 @@
{% extends "base.html" %} {% extends "base.html" %}
{% load i18n fieldset_extras %} {% load i18n fieldset_extras %}
{% block title %}{% if object.pk %}{% trans "Edit Page" %}: {{ page.title }}{% else %}{% trans "Add Page" %}{% endif %}{% endblock %} {% block title %}
{% if object.pk %}{% trans "Edit Page" %}: {{ page.title }}
{% else %}{% trans "Add Page" %}
{% endif %}
{% endblock %}
{% block extra_head %} {% block extra_head %}
<script type="text/javascript" src="{{ STATIC_URL }}js/jquery-1.6.2.min.js"></script> <script type="text/javascript" src="{{ STATIC_URL }}js/jquery-2.1.3.min.js"></script>
<script type="text/javascript" src="{{ STATIC_URL }}js/language_tabs.js" ></script> <script type="text/javascript" src="{{ STATIC_URL }}js/language_tabs.js" ></script>
<script type="text/javascript" src="{{ STATIC_URL }}js/ckeditor/ckeditor.js"></script> <script type="text/javascript" src="{{ STATIC_URL }}js/ckeditor/ckeditor.js"></script>
{% endblock %} {% endblock %}
{% block jumbotron_background %}{{STATIC_URL}}img/teaser/edit_page.jpg{% endblock %} {% block jumbotron_background %}{{STATIC_URL}}img/teaser/edit_page.jpg{% endblock %}
{% block teaser %}
{% if object.pk %}<h1>{{ page.title }}</h1>
{% else %}<h1>{% trans "Add Page" %}</h1>
{% endif %}
{% endblock %}
{% block maincontent %} {% block maincontent %}
{% get_fieldset "parent, slug, content_type, status" from form as fieldset_common %} {% get_fieldset "parent, slug, content_type, status" from form as fieldset_common %}

View File

@@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: kasu.events\n" "Project-Id-Version: kasu.events\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-12-14 01:12+0100\n" "POT-Creation-Date: 2015-01-05 19:23+0100\n"
"PO-Revision-Date: 2014-12-08 16:06+0100\n" "PO-Revision-Date: 2014-12-08 16:06+0100\n"
"Last-Translator: Christian Berg <xeniac.at@gmail.com>\n" "Last-Translator: Christian Berg <xeniac.at@gmail.com>\n"
"Language-Team: Kasu <verein@kasu.at>\n" "Language-Team: Kasu <verein@kasu.at>\n"

View File

@@ -47,7 +47,7 @@
{% endif %} {% endif %}
</p> </p>
<p>{{event.description}}</p> <p>{{event.description|truncatewords_html:20}}</p>
<ul class="info"> <ul class="info">
<li><img src="{{ STATIC_URL }}/icons/map.png" alt="{% trans 'Location' %}" title="{% trans 'Location' %}"> <li><img src="{{ STATIC_URL }}/icons/map.png" alt="{% trans 'Location' %}" title="{% trans 'Location' %}">
{{ event.location }} {{ event.location }}

View File

@@ -20,7 +20,7 @@
{% block teaser %} {% block teaser %}
<h1>{{event.name}}</h1> <h1>{{event.name}}</h1>
{% if event.description %} {% if event.description %}
<div id="teaser_text">{{event.description|markdown}}</div> <div id="teaser_text">{{event.description|markdown|truncatewords_html:75}}</div>
{% endif %} {% endif %}
{% endblock %} {% endblock %}

View File

@@ -20,7 +20,7 @@
{{ event.start|time:'H:i' }} {{ event.start|time:'H:i' }}
{% endif %} {% endif %}
</p> </p>
<p>{{event.description}}</p> <p>{{event.description|truncatewords_html:20}}</p>
<ul class="info"> <ul class="info">
<li> <li>
<img src="{{ STATIC_URL }}/icons/map.png" alt="{% trans 'Location' %}" title="{% trans 'Location' %}"> <img src="{{ STATIC_URL }}/icons/map.png" alt="{% trans 'Location' %}" title="{% trans 'Location' %}">

View File

@@ -95,9 +95,12 @@ def regenerate_image_cache(sender, instance=None, created=False, raw=False,
""" """
Reganerate the images. Reganerate the images.
""" """
try: if instance.image:
os.remove(instance.display.path) print instance.image
os.remove(instance.callout.path) print instance.display
os.remove(instance.thumbnail.path) print instance.callout
except imagekit.exceptions.MissingSource: for cached_image in (instance.article, instance.callout, instance.display, instance.thumbnail):
pass try:
os.remove(cached_image.path)
except OSError:
pass

Binary file not shown.

View File

@@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: kasu.utils\n" "Project-Id-Version: kasu.utils\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-12-14 01:12+0100\n" "POT-Creation-Date: 2015-01-05 19:23+0100\n"
"PO-Revision-Date: 2014-12-14 01:11+0100\n" "PO-Revision-Date: 2014-12-14 01:11+0100\n"
"Last-Translator: Christian Berg <xeniac.at@gmail.com>\n" "Last-Translator: Christian Berg <xeniac.at@gmail.com>\n"
"Language-Team: Kasu <verein@kasu.at>\n" "Language-Team: Kasu <verein@kasu.at>\n"
@@ -1047,6 +1047,10 @@ msgstr "Deutsch"
msgid "English" msgid "English"
msgstr "Englisch" msgstr "Englisch"
#: templates/404.html:8
msgid "The page your requested does not exist on this server."
msgstr ""
#: templates/base.html:23 #: templates/base.html:23
msgid "Current News" msgid "Current News"
msgstr "Aktuelle Neuigkeiten" msgstr "Aktuelle Neuigkeiten"
@@ -1143,6 +1147,18 @@ msgstr "Registrieren"
msgid "login" msgid "login"
msgstr "anmelden" msgstr "anmelden"
#: templates/base.html:166 templates/registration/login.html:58
msgid "Login with Facebook"
msgstr "über Facebook anmelden"
#: templates/base.html:167 templates/registration/login.html:59
msgid "Login with Twitter"
msgstr "über Twitter anmelden"
#: templates/base.html:168 templates/registration/login.html:60
msgid "Login with Google"
msgstr "über Google anmelden"
#: templates/index.html:7 #: templates/index.html:7
msgid "traditional Asian game culture" msgid "traditional Asian game culture"
msgstr "traditionelle asiatische Spielkultur" msgstr "traditionelle asiatische Spielkultur"
@@ -1295,7 +1311,9 @@ msgid "Forgot your Password?"
msgstr "Passwort vergessen?" msgstr "Passwort vergessen?"
#: templates/registration/login.html:49 #: templates/registration/login.html:49
#: templates/registration/password_change_form.html:22 #: templates/registration/password_change_form.html:23
#: templates/registration/password_reset_complete.html:14
#: templates/registration/password_reset_complete.html:15
msgid "Login" msgid "Login"
msgstr "Anmelden" msgstr "Anmelden"
@@ -1303,22 +1321,6 @@ msgstr "Anmelden"
msgid "or login with an existing Account" msgid "or login with an existing Account"
msgstr "oder mit einem bestehenden Account anmelden" msgstr "oder mit einem bestehenden Account anmelden"
#: templates/registration/login.html:57
msgid "Login with Facebook"
msgstr "über Facebook anmelden"
#: templates/registration/login.html:58
msgid "Login with twitter"
msgstr "über Twitter anmelden"
#: templates/registration/login.html:58
msgid "Login with Twitter"
msgstr "über Twitter anmelden"
#: templates/registration/login.html:59
msgid "Login with Google"
msgstr "über Google anmelden"
#: templates/registration/password_change_done.html:4 #: templates/registration/password_change_done.html:4
#: templates/registration/password_change_done.html:7 #: templates/registration/password_change_done.html:7
msgid "Password change successful" msgid "Password change successful"
@@ -1329,11 +1331,12 @@ msgid "Your password was changed."
msgstr "Dein Passwort wurde geändert." msgstr "Dein Passwort wurde geändert."
#: templates/registration/password_change_form.html:4 #: templates/registration/password_change_form.html:4
#: templates/registration/password_change_form.html:8 #: templates/registration/password_change_form.html:9
#: templates/registration/password_change_form.html:16
msgid "Password change" msgid "Password change"
msgstr "Passwort ändern" msgstr "Passwort ändern"
#: templates/registration/password_change_form.html:9 #: templates/registration/password_change_form.html:10
msgid "" msgid ""
"Please enter your old password, for security's sake, and then enter your new " "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." "password twice so we can verify you typed it in correctly."
@@ -1342,34 +1345,27 @@ msgstr ""
"das neue Passwort, so können wir sicher gehen das du es korrekt eingegeben " "das neue Passwort, so können wir sicher gehen das du es korrekt eingegeben "
"hast." "hast."
#: templates/registration/password_change_form.html:22 #: templates/registration/password_change_form.html:23
msgid "Change Password" msgid "Change Password"
msgstr "Passwort ändern" msgstr "Passwort ändern"
#: templates/registration/password_reset_complete.html:4 #: templates/registration/password_reset_complete.html:4
#: templates/registration/password_reset_complete.html:7 #: templates/registration/password_reset_complete.html:6
#: templates/registration/password_reset_complete.html:9
msgid "Password reset complete" msgid "Password reset complete"
msgstr "Passwort fertig zurückgesetzt" msgstr "Passwort fertig zurückgesetzt"
#: templates/registration/password_reset_complete.html:8 #: templates/registration/password_reset_complete.html:10
msgid "Your password has been set. You may go ahead and log in now." msgid "Your password has been set. You may go ahead and log in now."
msgstr "Dein Passwort wurde geändert. Du kannst dich nun damit anmelden." msgstr "Dein Passwort wurde geändert. Du kannst dich nun damit anmelden."
#: templates/registration/password_reset_complete.html:9
msgid "Log in"
msgstr "Anmelden"
#: templates/registration/password_reset_confirm.html:4 #: templates/registration/password_reset_confirm.html:4
#: templates/registration/password_reset_form.html:4 #: templates/registration/password_reset_confirm.html:6
#: templates/registration/password_reset_form.html:6 #: templates/registration/password_reset_confirm.html:15
msgid "Password reset"
msgstr "Passwort zurücksetzen"
#: templates/registration/password_reset_confirm.html:8
msgid "Enter new password" msgid "Enter new password"
msgstr "Neues Passwort eingeben" msgstr "Neues Passwort eingeben"
#: templates/registration/password_reset_confirm.html:9 #: templates/registration/password_reset_confirm.html:12
msgid "" msgid ""
"Please enter your new password twice so we can verify you typed it in " "Please enter your new password twice so we can verify you typed it in "
"correctly." "correctly."
@@ -1377,16 +1373,15 @@ msgstr ""
"Bitte gib das neue Passwort 2x ein, so können wir sicher sein das du es " "Bitte gib das neue Passwort 2x ein, so können wir sicher sein das du es "
"korrekt eingegeben hast." "korrekt eingegeben hast."
#: templates/registration/password_reset_confirm.html:13 #: templates/registration/password_reset_confirm.html:18
#: templates/registration/password_reset_confirm.html:22
msgid "Change my password" msgid "Change my password"
msgstr "Mein Passwort ändern" msgstr "Mein Passwort ändern"
#: templates/registration/password_reset_confirm.html:28 #: templates/registration/password_reset_confirm.html:26
msgid "Password reset unsuccessful" msgid "Password reset unsuccessful"
msgstr "Passwort nicht erfolgreich zurückgesetzt" msgstr "Passwort nicht erfolgreich zurückgesetzt"
#: templates/registration/password_reset_confirm.html:29 #: templates/registration/password_reset_confirm.html:27
msgid "" msgid ""
"The password reset link was invalid, possibly because it has already been " "The password reset link was invalid, possibly because it has already been "
"used. Please request a new password reset." "used. Please request a new password reset."
@@ -1395,6 +1390,18 @@ msgstr ""
"verwendet wurde. Bitte veranlasse eine erneute Zurücksetzung." "verwendet wurde. Bitte veranlasse eine erneute Zurücksetzung."
#: templates/registration/password_reset_done.html:4 #: templates/registration/password_reset_done.html:4
#: templates/registration/password_reset_done.html:9 #: templates/registration/password_reset_done.html:6
#: templates/registration/password_reset_done.html:12
msgid "Password reset successful" msgid "Password reset successful"
msgstr "Passwort erfolgreich zurückgesetzt" msgstr "Passwort erfolgreich zurückgesetzt"
#: templates/registration/password_reset_form.html:4
#: templates/registration/password_reset_form.html:6
msgid "Password reset"
msgstr "Passwort zurücksetzen"
#~ msgid "Log in"
#~ msgstr "Anmelden"
#~ msgid "Login with twitter"
#~ msgstr "über Twitter anmelden"

View File

@@ -12,6 +12,14 @@
src: url('../fonts/amerikasans.woff') format('woff'), url('../fonts/amerikasans.ttf') format('truetype'); src: url('../fonts/amerikasans.woff') format('woff'), url('../fonts/amerikasans.ttf') format('truetype');
} }
@font-face {
font-family: 'Social Icons';
font-weight: normal;
font-style: normal;
src: url('../fonts/social.woff') format('woff'), url('../fonts/social.ttf') format('truetype');
}
.clear { .clear {
clear: both; clear: both;
display: block; display: block;
@@ -384,6 +392,18 @@ ul.tabs li.active a {border-bottom: 3px solid #bc0a19; color: #bc0a19}
width: 100%; width: 100%;
padding: 0; padding: 0;
} }
.social, .social:link {
display: inline-block;
font-family: "Social Icons";
font-style: normal;
font-weight: normal;
}
.facebook:before {content: "f";}
.google:before {content: "G";}
.twitter:before {content: "T";}
fieldset.comment {padding: 0} fieldset.comment {padding: 0}
fieldset.comment legend {margin-left: 15px} fieldset.comment legend {margin-left: 15px}

View File

@@ -268,6 +268,7 @@
#usernav { #usernav {
background: url(../img/usernav-bg.png) top left no-repeat; background: url(../img/usernav-bg.png) top left no-repeat;
font-size: 14pt;
color: #FFF; color: #FFF;
height: 50px; height: 50px;
padding: 5px 10px 4px 20px; padding: 5px 10px 4px 20px;
@@ -276,13 +277,11 @@
text-align: right; text-align: right;
top: 0; top: 0;
z-index: 50; z-index: 50;
}
#usernav a { a {
color: #FFF; color: #FFF;
font-weight: 700; }
} }
#usernav img { #usernav img {
vertical-align: middle; vertical-align: middle;
} }

View File

@@ -35,7 +35,8 @@
margin: 0; margin: 0;
padding: 0; padding: 0;
line-height: 1cm; line-height: 1cm;
font-size: 16pt; font-family: 'Amerika Sans', Helvetica;
font-size: 8pt;
top: 5px; top: 5px;
z-index: 99; z-index: 99;
} }
@@ -52,7 +53,10 @@
background: #fff; background: #fff;
} }
h1, h2, h3, h4, h5, h6 { h1 {
font-size: 32pt;
}
h2, h3, h4, h5, h6 {
text-shadow: none; text-shadow: none;
page-break-after: avoid; page-break-after: avoid;
} }
@@ -65,7 +69,7 @@
page-break-inside: avoid; page-break-inside: avoid;
} }
#comment_form, #navigation, #mainnav, #usernav, #bottom_buttonbar, #footer > form { #comment_form, #comments, #footer, #navigation, #mainnav, #usernav, #bottom_buttonbar, #footer > form {
display: none; display: none;
} }

Binary file not shown.

Binary file not shown.

4
kasu/static/js/jquery-2.1.3.min.js vendored Normal file

File diff suppressed because one or more lines are too long

View File

@@ -1,9 +1,14 @@
{% extends "base.html" %} {% extends "base.html" %}
{% load i18n %}
{% block title %}404 - Seite nicht gefunden{% endblock %} {% block title %}404 - Seite nicht gefunden{% endblock %}
{% block maincontent %} {% block teaser %}
<h1 class="grid_12">404 - Nōten!</h1> <h1 class="grid_12">404 - Nōten!</h1>
<div id="teaser_text"><p>{% trans 'The page your requested does not exist on this server.' %}</p></div>
{% endblock %}
{% block maincontent %}
<p class="grid_12">Unter der Adresse <em>{{request.path}}</em> wohnt zur Zeit kein Inhalt.<br /> <p class="grid_12">Unter der Adresse <em>{{request.path}}</em> wohnt zur Zeit kein Inhalt.<br />
Unsere Empfehlung: Gehe zurück zum <a href="/">Start</a>.</p> Unsere Empfehlung: Gehe zurück zum <a href="/">Start</a>.</p>

View File

@@ -163,15 +163,9 @@
{% trans "no user logged in" %} - {% trans "no user logged in" %} -
<a rel="nofollow" href="{% url 'membership-register' %}">{% trans "register" %}</a> <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 'login' %}?next={{ request.path_info }}">{% trans "login" %}</a>
<a rel="nofollow" href="{% url 'social:begin' 'facebook' %}"><img src="{{STATIC_URL}}img/facebook.png" <a rel="nofollow" href="{% url 'social:begin' 'facebook' %}" class="social facebook" title="{% trans 'Login with Facebook' %}"/></a>
alt="Facebook Login" title="Login with Facebook" <a rel="nofollow" href="{% url 'social:begin' 'twitter' %}" class="social twitter" title="{% trans 'Login with Twitter' %}"/></a>
width="26" height="26"/></a> <a rel="nofollow" href="{% url 'social:begin' 'google-oauth2' %}" class="social google" title="{% trans 'Login with Google' %}"/></a>
<a rel="nofollow" href="{% url 'social:begin' 'twitter' %}"><img src="{{STATIC_URL}}img/twitter.png"
alt="Twitter Login" title="Login with Twitter"
width="26" height="26"/></a>
<a rel="nofollow" href="{% url 'social:begin' 'google-oauth2' %}"><img src="{{STATIC_URL}}img/google.png"
alt="Google Login" title="Login with Google"
width="26" height="26"/></a>
{% endif %} {% endif %}
</nav> </nav>
<script type="text/javascript">{% block javascript %}{% endblock %}</script> <script type="text/javascript">{% block javascript %}{% endblock %}</script>

View File

@@ -3,11 +3,12 @@
{% block title %}{% trans "Preview your comment" %}{% endblock %} {% block title %}{% trans "Preview your comment" %}{% endblock %}
{% block teaser %}<h1>{% trans "Preview your comment" %}</h1>{% endblock %}
{% block maincontent %} {% block maincontent %}
{% if form.errors %} {% if form.errors %}
<h2 class="grid_12">{% blocktrans count form.errors|length as counter %}Please correct the error below{% plural %}Please correct the errors below{% endblocktrans %}</h2> <h2 class="grid_12">{% blocktrans count form.errors|length as counter %}Please correct the error below{% plural %}Please correct the errors below{% endblocktrans %}</h2>
{% else %} {% else %}
<h2 class="grid_12">{% trans "Preview your comment" %}</h2>
<article id="c{{ comment.id }}" class="comment"> <article id="c{{ comment.id }}" class="comment">
<div class="comment_picture"> <div class="comment_picture">
<img class="avatar" src="{% if user.get_profile.thumbnail %} <img class="avatar" src="{% if user.get_profile.thumbnail %}

View File

@@ -27,7 +27,7 @@
If you don't own such an account, or do not want to use it for authentication, 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> you can fill out our registration form.</p>
{% endblocktrans %} {% endblocktrans %}
<p class="more_link"> <p class="buttonbar">
<a href="{% url 'membership-register' %}" class="button"> <a href="{% url 'membership-register' %}" class="button">
<img src="{{STATIC_URL}}icons/user_add.png" alt="{%trans 'register' %}"/> <img src="{{STATIC_URL}}icons/user_add.png" alt="{%trans 'register' %}"/>
{%trans "register"%}</a></p> {%trans "register"%}</a></p>
@@ -52,13 +52,13 @@ you can fill out our registration form.</p>
<div class="grid_5" style="text-align: center;"> <div class="grid_5">
<h2>{% trans "or login with an existing Account" %}</h2> <h2>{% trans "or login with an existing Account" %}</h2>
<a rel="nofollow" href="{% url 'social:begin' 'facebook' %}"><img src="{{STATIC_URL}}/img/facebook.png" alt="{% trans 'Login with Facebook' %}" title="{% trans 'Login with Facebook' %}"/></a> <div style="text-align: center; font-size: 72px">
<a rel="nofollow" href="{% url 'social:begin' 'twitter' %}"><img src="{{STATIC_URL}}/img/twitter.png" alt="{% trans 'Login with twitter' %}" title="{% trans 'Login with Twitter' %}"/></a> <a rel="nofollow" href="{% url 'social:begin' 'facebook' %}" class="social facebook" title="{% trans 'Login with Facebook' %}"/></a>
<a rel="nofollow" href="{% url 'social:begin' 'google-oauth2' %}"><img src="{{STATIC_URL}}/img/google.png" width="78" height="78" alt="{% trans 'Login with Google' %}" title="{% trans 'Login with Google' %}"/></a> <a rel="nofollow" href="{% url 'social:begin' 'twitter' %}" class="social twitter" title="{% trans 'Login with Twitter' %}"/></a>
<a rel="nofollow" href="{% url 'social:begin' 'google-oauth2' %}" class="social google" title="{% trans 'Login with Google' %}"/></a>
</div>
</div> </div>
</form> </form>
{% endblock %} {% endblock %}

View File

@@ -3,6 +3,7 @@
{% block title %}{% trans 'Password change' %}{% endblock %} {% block title %}{% trans 'Password change' %}{% endblock %}
{% block callout %} {% block callout %}
<div id="callout"> <div id="callout">
<h1>{% trans 'Password change' %}</h1> <h1>{% trans 'Password change' %}</h1>
@@ -12,7 +13,7 @@
{% block content %} {% block content %}
<fieldset> <fieldset>
<legend>Passwort ändern:</legend> <legend>{% trans 'Password change' %}</legend>
<form method="post" action="" class="cmxform"> <form method="post" action="" class="cmxform">
{%csrf_token%} {%csrf_token%}
{% if form.errors %}<p class="error"> Es sind Fehler beim ändern des Passwortes aufgetreten</p>{% endif %} {% if form.errors %}<p class="error"> Es sind Fehler beim ändern des Passwortes aufgetreten</p>{% endif %}

View File

@@ -3,8 +3,17 @@
{% block title %}{% trans 'Password reset complete' %}{% endblock %} {% block title %}{% trans 'Password reset complete' %}{% endblock %}
{% block teaser %}<h1>{% trans 'Password reset complete' %}</h1>{% endblock %}
{% block content %} {% block content %}
<h2>{% trans 'Password reset complete' %}</h2> <h2>{% trans 'Password reset complete' %}</h2>
<p>{% trans "Your password has been set. You may go ahead and log in now." %}</p> <p>{% trans "Your password has been set. You may go ahead and log in now." %}</p>
<p class="more"><a href="{{ login_url }}">{% trans 'Log in' %}</a></p> <p class="more_link">
<a href="{{ login_url }}" class="button">
{% trans 'Login' %}
<img src="{{STATIC_URL}}icons/arrow_right.png" alt="{% trans 'Login' %}" />
</a>
</p>
{% endblock %} {% endblock %}

View File

@@ -1,29 +1,27 @@
{% extends "base.html" %} {% extends "base.html" %}
{% load i18n %} {% load i18n %}
{% block title %}{% trans 'Password reset' %}{% endblock %} {% block title %}{% trans 'Enter new password' %}{% endblock %}
{% block teaser %}<h1>{% trans 'Enter new password' %}</h1>{% endblock %}
{% block maincontent %} {% block maincontent %}
{% if validlink %} {% if validlink %}
<h2 class="grid_12">{% trans 'Enter new password' %}</h2> <form action="" method="post">
<p class="grid_6">{% trans "Please enter your new password twice so we can verify you typed it in correctly." %}</p>
<form action="" method="post" class="grid_5">
{% csrf_token %} {% csrf_token %}
<fieldset style="margin: -12px 0 0 0"> <p class="grid_6">{% trans "Please enter your new password twice so we can verify you typed it in correctly." %}</p>
<legend>{% trans 'Change my password' %}</legend>
<ul> <fieldset class="grid_6">
{%for element in form %} <legend>{% trans 'Enter new password' %}</legend>
<p class="required">{{element.label_tag}} {{element}} {% include 'form.html' %}
{%if element.help_text %} <img src="{{STATIC_URL}}icons/information.png" title="{{element.help_text}}"> {% endif %} <p class="buttonbar">
{%if element.errors %}{{element.errors }} {% endif %} <button type="submit"><img src="{{STATIC_URL}}icons/key.png" /> {% trans 'Change my password' %}</button>
</li> </p>
{% endfor %} </fieldset>
</ul>
<p class="buttonbar"><button type="submit"><img src="{{STATIC_URL}}icons/key.png" /> {% trans 'Change my password' %}</button></p>
</fieldset>
</form> </form>
{% else %} {% else %}
<h2>{% trans 'Password reset unsuccessful' %}</h2> <h2>{% trans 'Password reset unsuccessful' %}</h2>
<p class="error">{% trans "The password reset link was invalid, possibly because it has already been used. Please request a new password reset." %}</p> <p class="error">{% trans "The password reset link was invalid, possibly because it has already been used. Please request a new password reset." %}</p>

View File

@@ -3,6 +3,9 @@
{% block title %}{% trans 'Password reset successful' %}{% endblock %} {% block title %}{% trans 'Password reset successful' %}{% endblock %}
{% block teaser %}<h1>{% trans 'Password reset successful' %}</h1>{% endblock %}
{% block maincontent %} {% block maincontent %}
<div class="grid_12"> <div class="grid_12">

View File

@@ -7,13 +7,13 @@ from content.views import * # @UnusedWildImport
from events.views import EventListIcal from events.views import EventListIcal
from content.feeds import LatestNews, LatestComments from content.feeds import LatestNews, LatestComments
from membership.views import MembershipDetail from membership.views import MembershipDetail
from django.views.generic.base import TemplateView from django.views.generic.base import TemplateView, RedirectView
admin.autodiscover() admin.autodiscover()
urlpatterns = patterns( urlpatterns = patterns(
'', '',
url(r'^$', StartPage.as_view(), name='start-page'), url(r'^$', RedirectView.as_view(url='/index.html')),
url(r'^404/$', TemplateView.as_view(template_name='404.html')), url(r'^404/$', TemplateView.as_view(template_name='404.html')),
url(r'^admin/doc/', include('django.contrib.admindocs.urls')), url(r'^admin/doc/', include('django.contrib.admindocs.urls')),
url(r'^admin/', include(admin.site.urls)), url(r'^admin/', include(admin.site.urls)),
@@ -26,7 +26,7 @@ urlpatterns = patterns(
url(r'^gallery/', include('gallery.urls')), url(r'^gallery/', include('gallery.urls')),
url(r'^google25dabc1a49a9ef03.html$', TemplateView.as_view(template_name='google25dabc1a49a9ef03.html')), url(r'^google25dabc1a49a9ef03.html$', TemplateView.as_view(template_name='google25dabc1a49a9ef03.html')),
url(r'^grappelli/', include('grappelli.urls')), url(r'^grappelli/', include('grappelli.urls')),
url(r'^i18n/', include('django.conf.urls.i18n')), url(r'^i18n/', include('django.conf.urls.i18n'), name='start-page'),
url(r'^index.html$', StartPage.as_view()), url(r'^index.html$', StartPage.as_view()),
url(r'^markdown/', include('django_markdown.urls')), url(r'^markdown/', include('django_markdown.urls')),
url(r'^mahjong/', include('mahjong_ranking.urls')), url(r'^mahjong/', include('mahjong_ranking.urls')),

View File

@@ -7,8 +7,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: kasu.mahjong_ranking\n" "Project-Id-Version: kasu.mahjong_ranking\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-12-14 01:12+0100\n" "POT-Creation-Date: 2015-01-05 19:23+0100\n"
"PO-Revision-Date: 2014-12-08 16:18+0100\n" "PO-Revision-Date: 2015-01-04 11:58+0100\n"
"Last-Translator: Christian Berg <xeniac.at@gmail.com>\n" "Last-Translator: Christian Berg <xeniac.at@gmail.com>\n"
"Language-Team: Kasu <verein@kasu.at>\n" "Language-Team: Kasu <verein@kasu.at>\n"
"Language: de\n" "Language: de\n"
@@ -17,7 +17,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Translated-Using: django-rosetta 0.7.2\n" "X-Translated-Using: django-rosetta 0.7.2\n"
"X-Generator: Poedit 1.6.11\n" "X-Generator: Poedit 1.7.1\n"
#: admin.py:35 #: admin.py:35
msgid "Recalculate" msgid "Recalculate"
@@ -39,7 +39,7 @@ msgstr "Nur Spiele während der Veranstaltung sind erlaubt."
msgid "A valid Hanchan needs 4 players" msgid "A valid Hanchan needs 4 players"
msgstr "Eine gültige Hanchan braucht 4 Spieler" msgstr "Eine gültige Hanchan braucht 4 Spieler"
#: models.py:84 models.py:611 templates/mahjong_ranking/hanchan_form.html:30 #: models.py:84 models.py:613 templates/mahjong_ranking/hanchan_form.html:30
#: templates/mahjong_ranking/player_dan_score.html:19 #: templates/mahjong_ranking/player_dan_score.html:19
#: templates/mahjong_ranking/player_invalid_score.html:18 #: templates/mahjong_ranking/player_invalid_score.html:18
msgid "Comment" msgid "Comment"
@@ -61,7 +61,8 @@ msgstr "Nur gültige und bestätigte Hanchans kommen in die Wertung."
msgid "Players" msgid "Players"
msgstr "Spieler" msgstr "Spieler"
#: models.py:97 templates/mahjong_ranking/player_dan_score.html:15 #: models.py:97 templates/mahjong_ranking/ladderranking_list.html:8
#: templates/mahjong_ranking/player_dan_score.html:15
#: templates/mahjong_ranking/player_invalid_score.html:14 #: templates/mahjong_ranking/player_invalid_score.html:14
#: templates/mahjong_ranking/player_kyu_score.html:16 #: templates/mahjong_ranking/player_kyu_score.html:16
#: templates/mahjong_ranking/player_ladder_score.html:15 #: templates/mahjong_ranking/player_ladder_score.html:15
@@ -132,34 +133,34 @@ msgstr "Turnierwertung"
#: templates/mahjong_ranking/eventranking_list.html:13 #: templates/mahjong_ranking/eventranking_list.html:13
#: templates/mahjong_ranking/kyudanranking_list.html:25 #: templates/mahjong_ranking/kyudanranking_list.html:25
#: templates/mahjong_ranking/ladderranking_list.html:13 #: templates/mahjong_ranking/ladderranking_list.html:20
msgid "Rank" msgid "Rank"
msgstr "Rang" msgstr "Rang"
#: templates/mahjong_ranking/eventranking_list.html:14 #: templates/mahjong_ranking/eventranking_list.html:14
#: templates/mahjong_ranking/kyudanranking_list.html:12 #: templates/mahjong_ranking/kyudanranking_list.html:12
#: templates/mahjong_ranking/ladderranking_list.html:14 #: templates/mahjong_ranking/ladderranking_list.html:21
msgid "Avatar" msgid "Avatar"
msgstr "Avatar" msgstr "Avatar"
#: templates/mahjong_ranking/eventranking_list.html:15 #: templates/mahjong_ranking/eventranking_list.html:15
#: templates/mahjong_ranking/kyudanranking_list.html:15 #: templates/mahjong_ranking/kyudanranking_list.html:15
#: templates/mahjong_ranking/ladderranking_list.html:15 #: templates/mahjong_ranking/ladderranking_list.html:22
msgid "Nickname" msgid "Nickname"
msgstr "Spitzname" msgstr "Spitzname"
#: templates/mahjong_ranking/eventranking_list.html:16 #: templates/mahjong_ranking/eventranking_list.html:16
#: templates/mahjong_ranking/ladderranking_list.html:16 #: templates/mahjong_ranking/ladderranking_list.html:23
msgid "Name" msgid "Name"
msgstr "Name" msgstr "Name"
#: templates/mahjong_ranking/eventranking_list.html:17 #: templates/mahjong_ranking/eventranking_list.html:17
#: templates/mahjong_ranking/ladderranking_list.html:17 #: templates/mahjong_ranking/ladderranking_list.html:24
msgid "Average" msgid "Average"
msgstr "Durchschnitt" msgstr "Durchschnitt"
#: templates/mahjong_ranking/eventranking_list.html:21 #: templates/mahjong_ranking/eventranking_list.html:21
#: templates/mahjong_ranking/ladderranking_list.html:21 #: templates/mahjong_ranking/ladderranking_list.html:28
#: templates/mahjong_ranking/player_dan_score.html:16 #: templates/mahjong_ranking/player_dan_score.html:16
#: templates/mahjong_ranking/player_invalid_score.html:16 #: templates/mahjong_ranking/player_invalid_score.html:16
#: templates/mahjong_ranking/player_kyu_score.html:17 #: templates/mahjong_ranking/player_kyu_score.html:17
@@ -171,37 +172,37 @@ msgstr "Platzierung"
#: templates/mahjong_ranking/hanchan_form.html:28 #: templates/mahjong_ranking/hanchan_form.html:28
#: templates/mahjong_ranking/hanchan_list.html:16 #: templates/mahjong_ranking/hanchan_list.html:16
#: templates/mahjong_ranking/kyudanranking_list.html:30 #: templates/mahjong_ranking/kyudanranking_list.html:30
#: templates/mahjong_ranking/ladderranking_list.html:22 #: templates/mahjong_ranking/ladderranking_list.html:29
msgid "Score" msgid "Score"
msgstr "Punkte" msgstr "Punkte"
#: templates/mahjong_ranking/eventranking_list.html:23 #: templates/mahjong_ranking/eventranking_list.html:23
#: templates/mahjong_ranking/ladderranking_list.html:23 #: templates/mahjong_ranking/ladderranking_list.html:30
msgid "count" msgid "count"
msgstr "Anzahl" msgstr "Anzahl"
#: templates/mahjong_ranking/eventranking_list.html:24 #: templates/mahjong_ranking/eventranking_list.html:24
#: templates/mahjong_ranking/ladderranking_list.html:24 #: templates/mahjong_ranking/ladderranking_list.html:31
msgid "good" msgid "good"
msgstr "gut" msgstr "gut"
#: templates/mahjong_ranking/eventranking_list.html:25 #: templates/mahjong_ranking/eventranking_list.html:25
#: templates/mahjong_ranking/ladderranking_list.html:25 #: templates/mahjong_ranking/ladderranking_list.html:32
msgid "won" msgid "won"
msgstr "gewonnen" msgstr "gewonnen"
#: templates/mahjong_ranking/eventranking_list.html:58 #: templates/mahjong_ranking/eventranking_list.html:58
#: templates/mahjong_ranking/ladderranking_list.html:70 #: templates/mahjong_ranking/ladderranking_list.html:77
msgid "Ladder Archive" msgid "Ladder Archive"
msgstr "Ladder Archiv" msgstr "Ladder Archiv"
#: templates/mahjong_ranking/eventranking_list.html:65 #: templates/mahjong_ranking/eventranking_list.html:65
#: templates/mahjong_ranking/ladderranking_list.html:64 #: templates/mahjong_ranking/ladderranking_list.html:71
msgid "Latest Events" msgid "Latest Events"
msgstr "Letzte Veranstaltungen" msgstr "Letzte Veranstaltungen"
#: templates/mahjong_ranking/eventranking_list.html:72 #: templates/mahjong_ranking/eventranking_list.html:72
#: templates/mahjong_ranking/ladderranking_list.html:54 #: templates/mahjong_ranking/ladderranking_list.html:61
msgid "Latest Hanchans" msgid "Latest Hanchans"
msgstr "Letzten Hanchans" msgstr "Letzten Hanchans"
@@ -315,7 +316,15 @@ msgstr "Voller Name"
msgid "Games Total" msgid "Games Total"
msgstr "Spiele total" msgstr "Spiele total"
#: templates/mahjong_ranking/ladderranking_list.html:72 #: templates/mahjong_ranking/ladderranking_list.html:9
msgid "End"
msgstr "Ende"
#: templates/mahjong_ranking/ladderranking_list.html:10
msgid "Participants"
msgstr "Teilnehmer"
#: templates/mahjong_ranking/ladderranking_list.html:79
#: templates/mahjong_ranking/player_ladder_score.html:51 #: templates/mahjong_ranking/player_ladder_score.html:51
msgid "Season" msgid "Season"
msgstr "Saison" msgstr "Saison"

View File

@@ -164,7 +164,9 @@ class Hanchan(models.Model):
# _('For a Hanchan exactly 4 players are needed.')) # _('For a Hanchan exactly 4 players are needed.'))
if not self.event_id: if not self.event_id:
raise ValidationError(_("Hanchan has no event")) raise ValidationError(_("Hanchan has no event"))
elif self.start and self.start > timezone.now(): elif not self.start:
raise ValidationError(_("Hanchan has no start time set"))
elif self.start > timezone.now():
raise ValidationError(_("It's not allowed to enter future games.")) raise ValidationError(_("It's not allowed to enter future games."))
elif not (self.event.start <= self.start <= self.event.end): elif not (self.event.start <= self.start <= self.event.end):
raise ValidationError(_("Only games during the event are allowed")) raise ValidationError(_("Only games during the event are allowed"))
@@ -509,7 +511,9 @@ class LadderSeason(models.Model):
""" """
return reverse('mahjong-ladder', kwargs={'season': self.pk}) return reverse('mahjong-ladder', kwargs={'season': self.pk})
@property
def participants(self):
return self.ladderranking_set.filter(placement__isnull=False).count()
def recalculate(self): def recalculate(self):
logger.info(u'Recalculate LadderSeason %s', self.name) logger.info(u'Recalculate LadderSeason %s', self.name)

View File

@@ -3,6 +3,13 @@
{% block teaser %} {% block teaser %}
<h2>Mahjong Ranking - {{season.name}}</h2> <h2>Mahjong Ranking - {{season.name}}</h2>
<div id="teaser_text">
<ul class="info">
<li class="date">{% trans 'Start' %}: {{season.start}}</li>
<li class="date">{% trans 'End' %}: {{season.end}}</li>
<li class="user">{% trans 'Participants' %}: {{season.participants}}</li>
</ul>
</div>
{% endblock %} {% endblock %}
{% block maincontent %} {% block maincontent %}

View File

@@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: kasu.mahjong_ranking\n" "Project-Id-Version: kasu.mahjong_ranking\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-12-14 01:12+0100\n" "POT-Creation-Date: 2015-01-05 19:23+0100\n"
"PO-Revision-Date: 2014-12-11 22:47+0100\n" "PO-Revision-Date: 2014-12-11 22:47+0100\n"
"Last-Translator: Christian Berg <xeniac.at@gmail.com>\n" "Last-Translator: Christian Berg <xeniac.at@gmail.com>\n"
"Language-Team: Kasu <verein@kasu.at>\n" "Language-Team: Kasu <verein@kasu.at>\n"

View File

@@ -145,7 +145,6 @@ class RegistrationForm(forms.ModelForm):
user.is_active = False user.is_active = False
if commit: if commit:
user.save() user.save()
activation = models.ActivationRequest.objects.create_pending_registration( activation = models.ActivationRequest.objects.create_pending_registration(user) # @IgnorePep8
user)
self.send_email(activation) self.send_email(activation)
return user return user

View File

@@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: kasu.membership\n" "Project-Id-Version: kasu.membership\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-12-14 01:12+0100\n" "POT-Creation-Date: 2015-01-05 19:23+0100\n"
"PO-Revision-Date: 2014-12-08 16:18+0100\n" "PO-Revision-Date: 2014-12-08 16:18+0100\n"
"Last-Translator: Christian Berg <xeniac.at@gmail.com>\n" "Last-Translator: Christian Berg <xeniac.at@gmail.com>\n"
"Language-Team: Kasu <verein@kasu.at>\n" "Language-Team: Kasu <verein@kasu.at>\n"

View File

@@ -3,14 +3,16 @@
{% block title %}Account aktivierung fehlgeschlagen{% endblock %} {% block title %}Account aktivierung fehlgeschlagen{% endblock %}
{% block teaser %}<h1>Account aktivierung fehlgeschlagen</h1>{% endblock %}
{% block maincontent %} {% block maincontent %}
<h2 class="grid_12">Aktivierung fehlgeschlagen</h2> <h2 class="grid_12">Aktivierung fehlgeschlagen</h2>
<p class="grid_12">Leider war die Aktivierung des Schlüssels &ldquo;{{ activation_key }}&rdquo; war nicht erfolgreich, dies könnte mehrere Gründe haben:</p> <p class="grid_12">Leider war die Aktivierung des Schlüssels &ldquo;{{ activation_key }}&rdquo; war nicht erfolgreich, dies könnte mehrere Gründe haben:</p>
<img class="grid_4" src="" alt="" /> <img class="grid_4" src="" alt="" />
<ul class="grid_8"> <ul class="grid_8">
<li><strong>Der Aktivierungs Link ist nicht korrekt.</strong> Bitte kopiere die ganze Zeile aus der E-Mail in die Adressleiste.</li> <li><strong>Der Aktivierungs Link ist nicht korrekt.</strong> Bitte kopiere die ganze Zeile aus der E-Mail in die Adressleiste.</li>
<li><strong>Der Aktivierungs Schlüssel ist abgelaufen.</strong> Dieser ist nur {{ expiration_days }} Tage gültig.In diesem Fall fülle das <a href="{% url 'membership-register' %}">Registrierungs Formular</a> bitte erneut aus.</p></li> <li><strong>Der Aktivierungs Schlüssel ist abgelaufen.</strong> Dieser ist nur {{ expiration_days }} Tage gültig.In diesem Fall fülle das <a href="{% url 'membership-register' %}">Registrierungs Formular</a> bitte erneut aus.</p></li>
<li><strong>Der Account wurde schon aktiviert.</strong> Dies passiert sehr schnell, veruche zuerst dich mit deinen Daten <a href="{% url 'login' %}">anzumelden</a>. Sollte das nicht funktionieren, kannst du dir ja mal <a href="{% url 'password_reset' %}">neue Zugangsdaten zuschicken</a> lassen.</li> <li><strong>Der Account wurde schon aktiviert.</strong> Dies passiert sehr schnell, veruche zuerst dich mit deinen Daten <a href="{% url 'login' %}">anzumelden</a>. Sollte das nicht funktionieren, kannst du dir ja mal <a href="{% url 'password_reset' %}">neue Zugangsdaten zuschicken</a> lassen.</li>
<li><strong>Ein obskurer Fehler ist aufgetreten.</strong> In diesem Fall, nimm bitte Kontakt mit dem Webadmin auf.</li> <li><strong>Ein obskurer Fehler ist aufgetreten.</strong> In diesem Fall, nimm bitte Kontakt mit dem Webadmin auf.</li>
</ul> </ul>
{% endblock %} {% endblock %}

View File

@@ -2,6 +2,8 @@
{% block title %}Bestätigungs E-Mail wurde abgeschickt{% endblock %} {% block title %}Bestätigungs E-Mail wurde abgeschickt{% endblock %}
{% block teaser %}<h1>Bestätigungs E-Mail wurde abgeschickt</h1>{% endblock %}
{% block content %} {% block content %}
<div class="left_column"> <div class="left_column">
<h2>Bestätigungs E-Mail wurde abgeschickt</h2> <h2>Bestätigungs E-Mail wurde abgeschickt</h2>

View File

@@ -2,6 +2,9 @@
{% block title %}Aktivierung erfolgreich{% endblock %} {% block title %}Aktivierung erfolgreich{% endblock %}
{% block teaser %}<h1>Aktivierung erfolgreich</h1>{% endblock %}
{% block maincontent %} {% block maincontent %}
<h2 class="grid_12">Aktivierung erfolgreich</h2> <h2 class="grid_12">Aktivierung erfolgreich</h2>

View File

@@ -3,7 +3,7 @@
{% block title %}{{ membership.first_name }} {{membership.last_name}}{% endblock %} {% block title %}{{ membership.first_name }} {{membership.last_name}}{% endblock %}
{% block teaser %}<h2>{% trans 'profile for' %} {{membership.user.username|title}}</h2>{% endblock %} {% block teaser %}<h1>{% trans 'profile for' %} {{membership.user.username|title}}</h1>{% endblock %}
{% block navigation %} {% block navigation %}
<ul id="navigation"> <ul id="navigation">

View File

@@ -1,6 +1,10 @@
{% extends "base.html" %} {% extends "base.html" %}
{% load i18n %} {% load i18n %}
{% block title %}{% trans "Edit Userprofile" %}{% endblock %} {% block title %}{% trans "Edit Userprofile" %}{% endblock %}
{% block teaser %}<h1>{% trans "Edit Userprofile" %}</h1>{% endblock %}
{% block extra_head %} {% block extra_head %}
<link rel="stylesheet" href="{{STATIC_URL}}css/jquery-ui-1.8.16.custom.css" type="text/css"> <link rel="stylesheet" href="{{STATIC_URL}}css/jquery-ui-1.8.16.custom.css" type="text/css">
<script type="text/javascript" src="{{STATIC_URL}}js/jquery-ui-1.8.16.custom.min.js"></script> <script type="text/javascript" src="{{STATIC_URL}}js/jquery-ui-1.8.16.custom.min.js"></script>
@@ -28,14 +32,14 @@
{% block javascript %} {% block javascript %}
$(function() { $(function() {
$( "#id_birthday" ).datepicker({ $( "#id_birthday" ).datepicker({
changeMonth: true, changeMonth: true,
changeYear: true, changeYear: true,
dateFormat: 'yy-mm-dd', dateFormat: 'yy-mm-dd',
yearRange: '-50,0', yearRange: '-50,0',
firstDay: 1 firstDay: 1
}); });
}); });
{% endblock %} {% endblock %}
{% block buttonbar %}{% endblock %} {% block buttonbar %}{% endblock %}

View File

@@ -3,11 +3,8 @@
{% load url from future %} {% load url from future %}
{% block title %}{% trans "Registration"%}{% endblock %} {% block title %}{% trans "Registration"%}{% endblock %}
{% block teaser%}
<h1>{% trans "Registration"%}</h1> {% block teaser%}<h1>{% trans "Registration"%}</h1>{% endblock %}
<div id="teaser_text">
</div>
{% endblock %}
{% block maincontent %} {% block maincontent %}
<form method="post" action="{% url 'membership-register' %}"> <form method="post" action="{% url 'membership-register' %}">

View File

@@ -4,6 +4,8 @@
{% block title %}{% trans "Activation sent"%}{% endblock %} {% block title %}{% trans "Activation sent"%}{% endblock %}
{% block teaser %}<h1>{% trans "Activation sent"%}</h1>{% endblock %}
{% block content %} {% block content %}
<h2>{% trans "Activation sent"%}</h2> <h2>{% trans "Activation sent"%}</h2>

View File

@@ -1,2 +1,3 @@
-r base.txt
django-debugbar django-debugbar
rosetta rosetta

View File

@@ -1,6 +1,7 @@
#!/bin/sh #!/bin/sh
./cleanup.sh # ./cleanup.sh
find . -name "*.pyc" -exec rm -rf {} \;
while read dir; do while read dir; do
echo "Syncing Files in $dir..." echo "Syncing Files in $dir..."

4
testserver.sh Executable file
View File

@@ -0,0 +1,4 @@
export DJANGO_SETTINGS_MODULE=kasu.settings.dev
source virtenv/bin/activate
./manage.py runserver 0.0.0.0:8080

View File

@@ -8,7 +8,7 @@ import re
from django.conf import settings from django.conf import settings
from django.core import validators from django.core import validators
from django.core.validators import EMPTY_VALUES from django.core.validators import EMPTY_VALUES
from django.forms import util, Form, ModelForm, ValidationError # @UnusedImport from django.forms import util, Form, ModelForm, ValidationError # @UnusedImport
import django.forms.fields import django.forms.fields
from django.utils.translation import gettext as _ from django.utils.translation import gettext as _
@@ -198,7 +198,7 @@ class ReCaptchaField(django.forms.fields.CharField):
self.required = True self.required = True
super(ReCaptchaField, self).__init__(*args, **kwargs) super(ReCaptchaField, self).__init__(*args, **kwargs)
def _check_recaptcha(self, challenge_value, response_value, remote_ip): def _check_recaptcha(self, challenge_value, response_value, remote_ip=None):
""" """
Submits a reCAPTCHA request for verification. Submits a reCAPTCHA request for verification.
Returns RecaptchaResponse for the request Returns RecaptchaResponse for the request

View File

@@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: kasu.utils\n" "Project-Id-Version: kasu.utils\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-12-14 01:12+0100\n" "POT-Creation-Date: 2015-01-05 19:23+0100\n"
"PO-Revision-Date: 2014-12-08 16:18+0100\n" "PO-Revision-Date: 2014-12-08 16:18+0100\n"
"Last-Translator: Christian Berg <xeniac.at@gmail.com>\n" "Last-Translator: Christian Berg <xeniac.at@gmail.com>\n"
"Language-Team: Kasu <verein@kasu.at>\n" "Language-Team: Kasu <verein@kasu.at>\n"