Aktuelle Fassung der Kasu.at Homepage. Kleine kosmetische Optimierungen.

This commit is contained in:
Christian Berg
2016-09-13 23:11:00 +02:00
parent 1487228383
commit f90bb997ea
40 changed files with 3291 additions and 34 deletions

7
.gitignore vendored
View File

@@ -66,8 +66,5 @@ target/
/node_modules/ /node_modules/
/static/ /static/
/templates/ /templates/
.idea/ .[a-zA-Z]*
.gitignore /src/kasu/settings/production.py
.project
.pydevproject
.settings/

View File

@@ -13,7 +13,7 @@ module.exports = function(grunt) {
}, },
kasu: { kasu: {
src: 'src/kasu/static/less/kasu.less', src: 'src/kasu/static/less/kasu.less',
dest: 'static/css/kasu.css', dest: 'src/kasu/static/css/kasu.css',
} }
}, },
more_css: { more_css: {

View File

@@ -3,6 +3,7 @@
import os import os
from django.conf import settings from django.conf import settings
from django.core.urlresolvers import reverse from django.core.urlresolvers import reverse
from django.core.exceptions import ValidationError
from django.db import models from django.db import models
from django.db.models import Q from django.db.models import Q
from django.template.defaultfilters import slugify from django.template.defaultfilters import slugify
@@ -10,7 +11,6 @@ from django.utils.timezone import now
from django.utils.translation import ugettext as _ from django.utils.translation import ugettext as _
from ckeditor.fields import RichTextField from ckeditor.fields import RichTextField
from easy_thumbnails.fields import ThumbnailerImageField from easy_thumbnails.fields import ThumbnailerImageField
from utils import COUNTRIES, OverwriteStorage from utils import COUNTRIES, OverwriteStorage
@@ -125,6 +125,12 @@ class Event(models.Model):
except: except:
return "New Event Model" return "New Event Model"
def clean(self):
if self.end < self.start:
raise ValidationError({
'end': _("A event can't end before it had started")
})
def get_absolute_url(self): def get_absolute_url(self):
kwargs = { kwargs = {
'pk': self.id, 'pk': self.id,

View File

@@ -52,7 +52,7 @@
{% endif %} {% endif %}
</p> </p>
<p>{{event.description|truncatewords_html:20}}</p> <p>{{event.description|truncatewords_html:20|safe}}</p>
<ul class="info"> <ul class="info">
<li><span class="fa fa-map-marker" title="{% trans 'Location' %}"></span> {{ event.location }}</li> <li><span class="fa fa-map-marker" title="{% trans 'Location' %}"></span> {{ event.location }}</li>
<li><span class="fa fa-comments" title="{% trans 'Comments' %}"></span> <a href="{{event.get_absolute_url}}#comments">{{ comment_count }}</a></li> <li><span class="fa fa-comments" title="{% trans 'Comments' %}"></span> <a href="{{event.get_absolute_url}}#comments">{{ comment_count }}</a></li>

File diff suppressed because one or more lines are too long

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.7 KiB

View File

@@ -0,0 +1,35 @@
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN"
"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
<svg version="1.0" xmlns="http://www.w3.org/2000/svg"
width="308.000000pt" height="308.000000pt" viewBox="0 0 308.000000 308.000000"
preserveAspectRatio="xMidYMid meet">
<metadata>
Created by potrace 1.11, written by Peter Selinger 2001-2013
</metadata>
<g transform="translate(0.000000,308.000000) scale(0.100000,-0.100000)"
fill="#000000" stroke="none">
<path d="M1210 2949 c-687 -155 -1146 -773 -1089 -1469 28 -342 168 -638 422
-894 268 -269 581 -409 947 -423 541 -20 1037 271 1282 752 105 207 151 397
150 630 0 293 -75 533 -250 799 -81 123 -243 292 -359 376 -152 109 -365 201
-544 235 -122 23 -446 20 -559 -6z m265 -180 c69 -13 109 -31 148 -67 34 -32
35 -65 3 -80 -24 -11 -33 -32 -51 -119 -8 -39 -15 -38 158 -19 106 12 121 16
147 41 l29 28 49 -32 c105 -67 127 -108 73 -135 -25 -14 -29 -23 -40 -93 -36
-227 -94 -424 -153 -516 -44 -69 -137 -129 -193 -125 -38 3 -41 5 -55 50 -11
35 -34 67 -87 121 -48 47 -73 80 -73 95 0 44 29 36 130 -33 54 -37 107 -68
116 -69 24 -2 78 71 104 141 34 90 67 230 81 341 7 56 11 104 8 106 -4 4 -280
-21 -303 -27 -4 -2 -18 -43 -31 -93 -49 -193 -132 -341 -270 -480 -118 -120
-309 -246 -349 -231 -9 4 -16 17 -16 30 0 19 16 35 71 71 157 105 300 270 379
439 34 72 80 212 80 243 0 18 -188 -13 -240 -40 -55 -28 -77 -22 -133 32 -64
61 -85 124 -52 152 12 10 22 6 55 -24 l40 -36 98 0 c88 1 240 15 249 23 8 8
24 173 18 194 -3 13 -23 34 -45 48 -50 32 -51 53 -4 75 0 0 27 -5 59 -11z
m386 -1361 c60 -47 86 -84 73 -106 -6 -9 -21 -18 -32 -20 -13 -2 -42 -33 -78
-85 -31 -45 -79 -111 -106 -145 -27 -35 -48 -64 -46 -65 2 -1 41 -21 88 -43
219 -107 364 -287 293 -366 -39 -43 -83 -17 -154 87 -50 75 -115 142 -202 206
l-78 59 -88 -78 c-130 -114 -260 -203 -412 -282 -139 -71 -194 -86 -206 -54
-8 22 6 34 129 107 283 170 488 362 634 595 44 69 52 88 39 90 -21 5 -271 -35
-350 -55 -33 -8 -67 -21 -76 -29 -30 -27 -67 -17 -121 34 -55 51 -80 97 -71
130 8 32 31 35 59 7 43 -43 53 -45 195 -35 246 18 389 38 418 60 35 26 43 25
92 -12z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.1 KiB

View File

@@ -164,7 +164,9 @@ table {
ul { ul {
list-style: circle outside; list-style: circle outside;
padding-left: 2em; padding-left: 2em;
margin:0.5em 0 0.5em 0 margin-top:0.5em;
li {margin-bottom: 0.5em}
} }
ul.info { ul.info {
list-style: none; list-style: none;
@@ -198,7 +200,6 @@ ul.tabs {
display: inline-block; display: inline-block;
padding: 0.5em 1em; padding: 0.5em 1em;
text-decoration: none; text-decoration: none;
} }
} }

View File

@@ -146,9 +146,10 @@ body {
background: url(../img/navigation-separator.png) no-repeat right center; background: url(../img/navigation-separator.png) no-repeat right center;
color: #FFF; color: #FFF;
display: inline-block; display: inline-block;
line-height:50px;
font-weight: bold; font-weight: bold;
height: 33px; height: 50px;
padding: 17px 15px 0; padding: 0 15px;
text-decoration: none; text-decoration: none;
} }
@@ -168,6 +169,9 @@ body {
width: 280px; width: 280px;
border-radius: 0px 10px 10px 0px; border-radius: 0px 10px 10px 0px;
z-index: 100; z-index: 100;
h3 {margin: 0.5em 0;}
ul li {line-height: 1em; margin-bottom: 0.5em;}
} }
#usernav { #usernav {
position: absolute; position: absolute;

View File

@@ -49,6 +49,7 @@
font: normal small-caps 18px 'Amerika Sans', sans-serif; font: normal small-caps 18px 'Amerika Sans', sans-serif;
text-align: center; text-align: center;
text-shadow: 2px 2px 2px #2e3436; text-shadow: 2px 2px 2px #2e3436;
margin: 0;
a { a {
color: #000; color: #000;
@@ -101,4 +102,4 @@
} }
ul.main_menu li:hover > ul {display: block; } ul.main_menu li:hover > ul {display: block; }
} }
} }

View File

@@ -118,6 +118,8 @@ ul.main_dropdown {
#redbox { #redbox {
margin-top: 1em; margin-top: 1em;
display: block; display: block;
h3 {margin: 0.5em 0}
ul li {margin-bottom: 0.75em}
} }
#teaser { #teaser {
background: none; background: none;
@@ -143,6 +145,8 @@ ul.main_dropdown {
} }
#toggle:checked ~ .toggle, .toggle:hover {background: #45ABD6} #toggle:checked ~ .toggle, .toggle:hover {background: #45ABD6}
#usernav a {display: inline-block; margin: 0 0.5em}
.comment_picture { .comment_picture {
display: table-cell; display: table-cell;
padding: 0px 10px; padding: 0px 10px;
@@ -292,4 +296,4 @@ ul.main_dropdown {
height: 70px; height: 70px;
width: 70px; width: 70px;
} }
} }

View File

@@ -17,26 +17,17 @@
document.createElement('hgroup'); document.createElement('hgroup');
</script> </script>
<![endif]--> <![endif]-->
<link rel="stylesheet" href="{{STATIC_URL}}css/kasu.css"> <link rel="stylesheet" href="{{STATIC_URL}}css/kasu.css" />
<link rel="manifest" href="/manifest.json" />
<link rel="alternate" type="application/rss+xml" title="{% trans 'Current News' %}" <link rel="alternate" type="application/rss+xml" title="{% trans 'Current News' %}"
href="{% url 'feed-latest-news' %}"/> href="{% url 'feed-latest-news' %}"/>
<link rel="alternate" type="application/rss+xml" title="{% trans 'Recent Comments' %}" <link rel="alternate" type="application/rss+xml" title="{% trans 'Recent Comments' %}"
href="{% url 'feed-latest-comments' %}"/> href="{% url 'feed-latest-comments' %}"/>
<link rel="shortcut icon" href="{{STATIC_URL}}img/favicon.ico"> <link rel="shortcut icon" href="{{STATIC_URL}}img/favicon.ico" />
<link rel="apple-touch-icon" sizes="57x57" href="{{STATIC_URL}}img/apple-touch-icon-57x57.png"> <link rel="apple-touch-icon" sizes="180x180" href="{{STATIC_URL}}img/apple-touch-icon-180x180.png" />
<link rel="apple-touch-icon" sizes="60x60" href="{{STATIC_URL}}img/apple-touch-icon-60x60.png"> <link rel="icon" type="image/png" href="{{STATIC_URL}}img/favicon-96x96.png" sizes="96x96" />
<link rel="apple-touch-icon" sizes="72x72" href="{{STATIC_URL}}img/apple-touch-icon-72x72.png"> <link rel="mask-icon" href="{{STATIC_URL}}img/safari-pinned-tab.svg" color="#5bbad5" />
<link rel="apple-touch-icon" sizes="76x76" href="{{STATIC_URL}}img/apple-touch-icon-76x76.png">
<link rel="apple-touch-icon" sizes="114x114" href="{{STATIC_URL}}img/apple-touch-icon-114x114.png">
<link rel="apple-touch-icon" sizes="120x120" href="{{STATIC_URL}}img/apple-touch-icon-120x120.png">
<link rel="apple-touch-icon" sizes="144x144" href="{{STATIC_URL}}img/apple-touch-icon-144x144.png">
<link rel="apple-touch-icon" sizes="152x152" href="{{STATIC_URL}}img/apple-touch-icon-152x152.png">
<link rel="apple-touch-icon" sizes="180x180" href="{{STATIC_URL}}img/apple-touch-icon-180x180.png">
<link rel="icon" type="image/png" href="{{STATIC_URL}}img/favicon-32x32.png" sizes="32x32">
<link rel="icon" type="image/png" href="{{STATIC_URL}}img/android-chrome-192x192.png" sizes="192x192">
<link rel="icon" type="image/png" href="{{STATIC_URL}}img/favicon-96x96.png" sizes="96x96">
<link rel="icon" type="image/png" href="{{STATIC_URL}}img/favicon-16x16.png" sizes="16x16">
<link rel="mask-icon" href="{{STATIC_URL}}img/safari-pinned-tab.svg" color="#5bbad5">
{% block opengraph %} {% block opengraph %}
<meta property="og:type" content="website"/> <meta property="og:type" content="website"/>
<meta property="og:title" content="Kasu - Verein Japanische Spielekultur"/> <meta property="og:title" content="Kasu - Verein Japanische Spielekultur"/>

View File

@@ -59,8 +59,8 @@
<h2>{% trans 'Kasu in the social network' %}</h2> <h2>{% trans 'Kasu in the social network' %}</h2>
<p style="text-align: center"> <p style="text-align: center">
<a href="https://www.facebook.com/Kasu.at"><span class="fa fa-facebook fa-5x" title="{% trans 'Visit us on' %} Facebook"></span></a> <a href="https://www.facebook.com/Kasu.at" style="margin: 0 2em"><span class="fa fa-facebook fa-5x" title="{% trans 'Visit us on' %} Facebook"></span></a>
<a href="https://twitter.com/KasuAustria"><span <a href="https://twitter.com/KasuAustria" style="margin: 0 2em"><span
class="fa fa-twitter fa-5x" class="fa fa-twitter fa-5x"
title="{% trans 'Visit us on' %} Twitter"></span></a> title="{% trans 'Visit us on' %} Twitter"></span></a>
</p> </p>

View File

@@ -0,0 +1,46 @@
{
"name": "Kasu - Verein traditionelle japanische Spielekultur",
"short_name": "Kasu",
"icons": [
{
"src": "/static/img/android-chrome-36x36.png",
"sizes": "36x36",
"type": "image\/png",
"density": "0.75"
},
{
"src": "/static/img/android-chrome-48x48.png",
"sizes": "48x48",
"type": "image\/png",
"density": "1.0"
},
{
"src": "/static/img/android-chrome-72x72.png",
"sizes": "72x72",
"type": "image\/png",
"density": "1.5"
},
{
"src": "/static/img/android-chrome-96x96.png",
"sizes": "96x96",
"type": "image\/png",
"density": "2.0"
},
{
"src": "/static/img/android-chrome-144x144.png",
"sizes": "144x144",
"type": "image\/png",
"density": "3.0"
},
{
"src": "/static/img/android-chrome-192x192.png",
"sizes": "192x192",
"type": "image\/png",
"density": "4.0"
}
],
"start_url": "/",
"display": "standalone",
"background_color": "#424242",
"theme_color": "#bc0a19"
}

View File

@@ -30,6 +30,7 @@ urlpatterns = patterns(
url(r'^grappelli/', include('grappelli.urls')), url(r'^grappelli/', include('grappelli.urls')),
url(r'^i18n/', include('django.conf.urls.i18n'), name='start-page'), 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'^manifest.json$', TemplateView.as_view(template_name='manifest.json')),
url(r'^membership/', include('membership.urls')), url(r'^membership/', include('membership.urls')),
url(r'^news/', include('content.news_urls')), url(r'^news/', include('content.news_urls')),
url(r'^ranking/', include('mahjong_ranking.urls')), url(r'^ranking/', include('mahjong_ranking.urls')),

View File

@@ -43,7 +43,7 @@
width="70" height="70" class="avatar" alt=""/></a></td> width="70" height="70" class="avatar" alt=""/></a></td>
<td><a href="{{ player.get_absolute_url }}?season={{season}}">{{player.user}}</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>{% if user.is_authenticated %}{{player.user.last_name}} {{player.user.first_name}}{% else %}---{% endif %}</td>
<td class="center">{{player.avg_placement|ordinal }}</td> <td class="center">{{player.avg_placement|floatformat:2 }}</td>
<td class="right">{{player.avg_score|floatformat:0|intcomma }}</td> <td class="right">{{player.avg_score|floatformat:0|intcomma }}</td>
<td class="right">{{player.hanchan_count}}</td> <td class="right">{{player.hanchan_count}}</td>
<td class="right">{{player.good_hanchans}}</td> <td class="right">{{player.good_hanchans}}</td>