Code bereinigt und Seitenstruktur verfeinert.

Das Layout der einzelnen Seiten ist jetzt einheitlich:
- jumbotron
- Naviation der Unterseiten (wenn Vorhanden)
- Hauptinhalt
- Pager (bei mehrseiteigen Ergebnissen)
- Kommentare (wenn Kommentare möglich)
- Buttonleiste zum bearbeiten (wen erlaubt)

* Viele kleine HTML5 Fehler wurden bereinigt
* CSS Dateien wurden angepasst
* Nicht mehr benötigte Dateien in STATIC gelöscht
* externe Pakete aus utlis/ entfernt, als Vobreitung für virtenv Nutzung.
This commit is contained in:
Christian Berg
2014-11-30 16:49:23 +01:00
committed by Christian Berg
parent 86a0db050d
commit 34f5bdca58
1062 changed files with 1690 additions and 100089 deletions

View File

@@ -4,7 +4,7 @@ from . import PAID_MEMBERSHIP_GROUP
from datetime import timedelta
from django.utils import timezone
from django.conf import settings
from django.core.exceptions import FieldError
from django.contrib.auth import get_user_model
from django.core.urlresolvers import reverse
from django.db import models
from django.utils.translation import ugettext as _
@@ -139,7 +139,7 @@ class ActivationRequest(models.Model):
class MembershipManager(models.Manager):
def get(self, *args, **kwargs):
def get(self, user=None, username=None, **kwargs):
"""
First try's to fetch the requested Membership Object from the Database,
if the requestetd Membership does not Exists (yet) try to fetch the
@@ -147,26 +147,20 @@ class MembershipManager(models.Manager):
Userdata.
"""
try:
if 'username' in kwargs:
return models.Manager.get(self,
user__username=kwargs['username'])
else:
return models.Manager.get(self, *args, **kwargs)
except FieldError:
user = settings.AUTH_USER_MODEL.objects.get(*args, **kwargs)
if user:
return super(MembershipManager, self).get(user=user)
elif username:
return super(MembershipManager, self).get(user__username=username)
except Membership.DoesNotExist:
if 'user' in kwargs:
user = settings.AUTH_USER_MODEL.objects.get(pk=kwargs['user'].id)
else:
user = settings.AUTH_USER_MODEL.objects.get(*args, **kwargs)
membership = Membership(
user=user,
nickname=user.username,
first_name=user.first_name,
last_name=user.last_name,
email=user.email
)
if username:
user = get_user_model().objects.get(username=username)
membership = Membership(
user=user,
nickname=user.username,
first_name=user.first_name,
last_name=user.last_name,
email=user.email
)
return membership

View File

@@ -3,75 +3,85 @@
{% block title %}{{ membership.first_name }} {{membership.last_name}}{% endblock %}
{% block maincontent %}
<h2 class="grid_12">{% trans 'profile for' %} {{membership.user.username|title}}</h2>
{% if membership.profile %}
<img class="grid_3" src="{{membership.profile.url}}" alt="{% trans 'Profile Image' %}" />
{% else %}
<div class="grid_3"> Noch kein Foto hoch geladen</div>
{% endif %}
{% block teaser %}<h2>{% trans 'profile for' %} {{membership.user.username|title}}</h2>{% endblock %}
<div class="grid_6">
<ul>
<li><strong>Name:</strong> {{membership.first_name}} {{membership.last_name}}</li>
<li><strong>{% trans "Member Since" %}:</strong> {{membership.user.date_joined}}</li>
<li><strong>{% trans "Last Login" %}:</strong> {{membership.user.last_login}}</li>
{% if website %}<li><strong>Homepage:</strong> <a href="{{website}}">{{website}}</a></li>{% endif %}
</ul>
{% block navigation %}
{% 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' %}</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>
{% ifequal membership.user user %}
<div class="grid_3">
<a href="{% url 'membership-edit' membership.user.username %}" class="button">
<img src="{{STATIC_URL}}icons/user_edit.png" alt="{% trans 'Edit Userprofile' %}" width="16" height="16"/>
{% trans "Edit Profile" %}
</a>
<a href="{% url 'password_change' %}" class="button">
<img src="{{STATIC_URL}}icons/lock_edit.png" alt="{% trans 'Change Password' %}" width="16" height="16"/>
{% trans 'Change Password' %}
</a>
<a class="button" href="{% url 'social:begin' 'facebook' %}" rel="nofollow">
<img src="{{STATIC_URL}}img/facebook.png" alt="{% trans 'Associate' %}" width="26" height="26"/>
{% blocktrans with 'Facebook' as name %}Associate with {{ name }}{% endblocktrans %}
</a>
<a class="button" href="{% url 'social:begin' 'twitter' %}" rel="nofollow">
<img src="{{STATIC_URL}}img/twitter.png" alt="{% trans 'Associate' %}" width="26" height="26"/>
{% blocktrans with 'Twitter' as name %}Associate with {{ name }}{% endblocktrans %}
</a>
<a class="button" href="{% url 'social:begin' 'google-oauth2' %}" rel="nofollow">
<img src="{{STATIC_URL}}img/google.png" alt="{% trans 'Associate' %}" width="26" height="26"/>
{% blocktrans with 'Google' as name %}Associate with {{ name }}{% endblocktrans %}
</a>
</div>
{% endifequal %}
{% block score_list %}
{% if kyu_dan_ranking %}
<ul class="tabs grid_12">
<li><a href="{% url 'player-ladder-score' membership.user.username %}">{% trans "Ladder Hanchans" %}</a></li>
<li><a href="{% url 'player-kyu-score' membership.user.username %}">{% trans "Kyu Hanchans" %}</a></li>
<li><a href="{% url 'player-dan-score' membership.user.username %}">{% trans "Dan Hanchans" %}</a></li>
<li><a href="{% url 'player-ladder-score' membership.user.username %}">{% trans "Invalid Hanchans" %}</a></li>
<ul id="navigation">
<li><a href="{% url 'player-ladder-score' membership.user.username %}">{% trans "Ladder Hanchans" %}</a></li>
<li><a href="{% url 'player-kyu-score' membership.user.username %}">{% trans "Kyu Hanchans" %}</a></li>
<li><a href="{% url 'player-dan-score' membership.user.username %}">{% trans "Dan Hanchans" %}</a></li>
<li><a href="{% url 'player-invalid-score' membership.user.username %}">{% trans "Invalid Hanchans" %}</a></li>
</ul>
{% endif %}
{% endblock %}
{% block maincontent %}
{% if membership.profile %}
<img class="grid_3" src="{{membership.profile.url}}" 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.user.date_joined}}</li>
<li><strong>{% trans "Last Login" %}:</strong> {{membership.user.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' %}</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>
{% ifequal membership.user user %}
<div class="grid_3">
<a href="{% url 'membership-edit' membership.user.username %}" class="button">
<img src="{{STATIC_URL}}icons/user_edit.png" alt="{% trans 'Edit Userprofile' %}" width="16" height="16"/>
{% trans "Edit Profile" %}
</a>
<a href="{% url 'password_change' %}" class="button">
<img src="{{STATIC_URL}}icons/lock_edit.png" alt="{% trans 'Change Password' %}" width="16" height="16"/>
{% trans 'Change Password' %}
</a>
<a class="button" href="{% url 'social:begin' 'facebook' %}" rel="nofollow">
<img src="{{STATIC_URL}}img/facebook.png" alt="{% trans 'Associate' %}" width="26" height="26"/>
{% blocktrans with 'Facebook' as name %}Associate with {{ name }}{% endblocktrans %}
</a>
<a class="button" href="{% url 'social:begin' 'twitter' %}" rel="nofollow">
<img src="{{STATIC_URL}}img/twitter.png" alt="{% trans 'Associate' %}" width="26" height="26"/>
{% blocktrans with 'Twitter' as name %}Associate with {{ name }}{% endblocktrans %}
</a>
<a class="button" href="{% url 'social:begin' 'google-oauth2' %}" rel="nofollow">
<img src="{{STATIC_URL}}img/google.png" alt="{% trans 'Associate' %}" width="26" height="26"/>
{% blocktrans with 'Google' as name %}Associate with {{ name }}{% endblocktrans %}
</a>
</div>
{% endifequal %}
{% block score_list %} {% endblock %}
{% endblock %}
{% block comments %}
{% if membership %}
{% render_comment_list for membership %}
{% render_comment_form for membership %}
{% render_comment_list for membership %}
{% render_comment_form for membership %}
{% endif %}
{% endblock %}

View File

@@ -3,7 +3,9 @@ from django.conf import settings
from django.contrib import auth, messages
from django.core.urlresolvers import reverse
from django.utils.translation import ugettext as _
from django.shortcuts import get_object_or_404
from django.views import generic
from django.contrib.auth import get_user_model
from mahjong_ranking.models import KyuDanRanking, LadderRanking, LadderSeason
from utils import mixins
@@ -20,7 +22,6 @@ class ActivateRegistration(generic.DetailView):
def get(self, request, **kwargs):
activation_key = self.kwargs.get('activation_key')
user = self.get_user(activation_key)
print 'User: ', user
if user:
return self.login(user)
else:
@@ -80,7 +81,8 @@ class MembershipDetail(mixins.LoginRequiredMixin, generic.DetailView):
def get_object(self, queryset=None):
if self.kwargs.get('username'):
return models.Membership.objects.get_or_create(username=self.kwargs['username'])[0]
user = get_object_or_404(get_user_model(), username=self.kwargs['username'])
return models.Membership.objects.get_or_create(user=user)[0]
elif self.request.user.is_authenticated():
return models.Membership.objects.get(user=self.request.user)