Vereinfachung Membership ist nun ein custom login model, keine Abhängikeiten mehr zu auth.User.
absofort können alle Benutzer ins Ranking eingetragen werden und nicht mehr nur "zahlende Mitglieder".
This commit is contained in:
committed by
Christian Berg
parent
37d3cb78c1
commit
617b7131fe
62
src/maistar_ranking/migrations/0001_initial.py
Normal file
62
src/maistar_ranking/migrations/0001_initial.py
Normal file
@@ -0,0 +1,62 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
from __future__ import unicode_literals
|
||||
|
||||
from django.db import models, migrations
|
||||
from django.conf import settings
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('events', '__first__'),
|
||||
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.CreateModel(
|
||||
name='Game',
|
||||
fields=[
|
||||
('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
|
||||
('comment', models.TextField(verbose_name='Anmerkung', blank=True)),
|
||||
('player1_score', models.SmallIntegerField(verbose_name='Punkte')),
|
||||
('player1_placement', models.PositiveSmallIntegerField(editable=False)),
|
||||
('player2_score', models.SmallIntegerField(verbose_name='Punkte')),
|
||||
('player2_placement', models.PositiveSmallIntegerField(editable=False)),
|
||||
('player3_score', models.SmallIntegerField(verbose_name='Punkte')),
|
||||
('player3_placement', models.PositiveSmallIntegerField(editable=False)),
|
||||
('player4_score', models.SmallIntegerField(verbose_name='Punkte')),
|
||||
('player4_placement', models.PositiveSmallIntegerField(editable=False)),
|
||||
('player5_score', models.SmallIntegerField(verbose_name='Punkte')),
|
||||
('player5_placement', models.PositiveSmallIntegerField(editable=False)),
|
||||
('player6_score', models.SmallIntegerField(verbose_name='Punkte')),
|
||||
('player6_placement', models.PositiveSmallIntegerField(editable=False)),
|
||||
('confirmed', models.BooleanField(default=True, help_text='das Spiel z\xe4hlt nur wenn es best\xe4tigt wurde', verbose_name='Wurde best\xe4tigt')),
|
||||
('player_names', models.CharField(max_length=255, editable=False)),
|
||||
('season', models.PositiveSmallIntegerField(verbose_name='Saison', editable=False, db_index=True)),
|
||||
('event', models.ForeignKey(related_name='maistargame_set', to='events.Event')),
|
||||
('player1', models.ForeignKey(related_name='+', verbose_name='Spieler 1', to=settings.AUTH_USER_MODEL)),
|
||||
('player2', models.ForeignKey(related_name='+', verbose_name='Spieler 2', to=settings.AUTH_USER_MODEL)),
|
||||
('player3', models.ForeignKey(related_name='+', verbose_name='Spieler 3', to=settings.AUTH_USER_MODEL)),
|
||||
('player4', models.ForeignKey(related_name='+', verbose_name='Spieler 4', to=settings.AUTH_USER_MODEL)),
|
||||
('player5', models.ForeignKey(related_name='+', verbose_name='Spieler 5', to=settings.AUTH_USER_MODEL)),
|
||||
('player6', models.ForeignKey(related_name='+', verbose_name='Spieler 6', to=settings.AUTH_USER_MODEL)),
|
||||
],
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='Ranking',
|
||||
fields=[
|
||||
('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
|
||||
('season', models.PositiveSmallIntegerField(verbose_name='Saison')),
|
||||
('placement', models.PositiveIntegerField(null=True, blank=True)),
|
||||
('avg_placement', models.PositiveSmallIntegerField(null=True, blank=True)),
|
||||
('avg_score', models.SmallIntegerField(null=True, blank=True)),
|
||||
('games_count', models.PositiveSmallIntegerField(default=0)),
|
||||
('games_good', models.PositiveSmallIntegerField(default=0)),
|
||||
('games_won', models.PositiveSmallIntegerField(default=0)),
|
||||
('user', models.ForeignKey(to=settings.AUTH_USER_MODEL)),
|
||||
],
|
||||
options={
|
||||
'ordering': ('-season', 'placement', 'avg_placement', '-avg_score'),
|
||||
},
|
||||
),
|
||||
]
|
||||
0
src/maistar_ranking/migrations/__init__.py
Normal file
0
src/maistar_ranking/migrations/__init__.py
Normal file
@@ -73,12 +73,8 @@
|
||||
{{ form.comment }}
|
||||
</p>
|
||||
<p class="buttonbar">
|
||||
<a href="{{game.get_absolute_url}}" class="button"><img
|
||||
src="{{STATIC_URL}}icons/arrow_undo.png"
|
||||
alt="{% trans 'Back' %}"/> {% trans 'Back' %}</a>
|
||||
<button type="submit"><img src="{{STATIC_URL}}icons/table_save.png"
|
||||
alt="{% trans 'Save' %}"/> {% trans 'Save' %}
|
||||
</button>
|
||||
<a href="{% url 'maistar-game-list' game.event.pk %}" class="button"><span class="fa fa-undo"></span> {% trans 'Back' %}</a>
|
||||
<button type="submit"><span class="fa fa-hdd-o"></span> {% trans 'Save' %}</button>
|
||||
</p>
|
||||
</fieldset>
|
||||
</form>
|
||||
|
||||
@@ -21,10 +21,10 @@
|
||||
{% endfor %}
|
||||
<div class="grid_12 buttonbar">
|
||||
{% if perms.maistar_ranking.delete_dame %}
|
||||
<a class="button" href="{% url 'maistar-delete-game' game.pk %}"><img src="{{STATIC_URL}}icons/table_delete.png" alt="{% trans 'Delete' %}"/> {% trans 'Delete Game' %}</a>
|
||||
<a class="button" href="{% url 'maistar-delete-game' game.pk %}"><span class="fa fa-trash"></span> {% trans 'Delete Game' %}</a>
|
||||
{% endif %}
|
||||
{% if perms.maistar_ranking.change_game %}
|
||||
<a class="button" href="{% url 'maistar-edit-game' game.pk %}"><img src="{{STATIC_URL}}icons/table_edit.png" alt="{% trans 'Edit' %}" /> {% trans 'Edit Game' %}</a>
|
||||
<a class="button" href="{% url 'maistar-edit-game' game.pk %}"><span class="fa fa-pencil"></span> {% trans 'Edit Game' %}</a>
|
||||
{% endif %}
|
||||
</div>
|
||||
</article>
|
||||
@@ -36,9 +36,7 @@
|
||||
|
||||
{% block buttonbar %}
|
||||
{% if perms.maistar_ranking.add_game %}
|
||||
<a class="button" href="{{event.get_edit_url}}"><img src="{{STATIC_URL}}icons/calendar_edit.png"
|
||||
alt="{% trans 'Add' %}"/> {% trans 'Edit Event' %}</a>
|
||||
<a class="button" href="{% url 'maistar-add-game' event.id %}"><img src="{{STATIC_URL}}icons/add.png"
|
||||
alt="{% trans 'Add' %}"/> {% trans 'Add Game' %}</a>
|
||||
<a class="button" href="{{event.get_edit_url}}"><span class="fa fa-pencil"></span> {% trans 'Edit Event' %}</a>
|
||||
<a class="button" href="{% url 'maistar-add-game' event.id %}"><span class="fa fa-plus-circle"></span> {% trans 'Add Game' %}</a>
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
@@ -10,15 +10,9 @@
|
||||
<legend>{% trans "Delete game" %}</legend>
|
||||
{% include 'form.html' %}
|
||||
<p class="buttonbar">
|
||||
<button type="button" onclick="window.history.back()">
|
||||
<img src="{{STATIC_URL}}icons/cancel.png" alt="{% trans 'Cancel' %}"/>
|
||||
{% trans 'Cancel' %}
|
||||
</button>
|
||||
<button type="submit">
|
||||
<img src="{{STATIC_URL}}icons/table_delete.png" alt="{% trans 'Delete' %}"/>
|
||||
{% trans 'Delete' %}
|
||||
</button>
|
||||
</p>
|
||||
<button type="button" onclick="window.history.back()"><span class="fa fa-close"></span>{% trans 'Cancel' %}</button>
|
||||
<button type="submit"><span class="fa fa-trash"></span>{% trans 'Delete' %}</button>
|
||||
</p>
|
||||
</fieldset>
|
||||
</form>
|
||||
{% endblock %}
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
{% extends "membership/membership_detail.html" %}
|
||||
{% load i18n humanize %}
|
||||
|
||||
{% block title %} {% trans 'Ladder Score for' %} {{membership.user.username}} {% endblock %}
|
||||
{% block title %} {% trans 'Ladder Score for' %} {{membership.username}} {% endblock %}
|
||||
|
||||
{% block teaser %} <h2>{% trans 'Mai-Star Games' %}: {{membership.user.username}} <br/> {% trans 'Season' %} {{season}}</h2> {% endblock %}
|
||||
{% block teaser %} <h2>{% trans 'Mai-Star Games' %}: {{membership.username}} <br/> {% trans 'Season' %} {{season}}</h2> {% endblock %}
|
||||
|
||||
{% block score_list %}
|
||||
<div class="grid_12">
|
||||
<h2>{% trans 'Mai-Star Games with' %} {{ membership.user.username }} - {{season}}</h2>
|
||||
<h2>{% trans 'Mai-Star Games with' %} {{ membership.username }} - {{season}}</h2>
|
||||
|
||||
<table>
|
||||
<thead>
|
||||
@@ -40,10 +40,10 @@
|
||||
{% endfor %}
|
||||
<td>
|
||||
{% if perms.maistar_ranking.delete_game %}
|
||||
<a href="{% url 'maistar-delete-game' game.pk %}"><img src="{{STATIC_URL}}icons/table_delete.png" alt="{% trans 'Delete' %}" title="{% trans 'Delete Game' %}"/></a>
|
||||
<a href="{% url 'maistar-delete-game' game.pk %}"><span class="fa fa-trash" title="{% trans 'Delete Game' %}"></span></a>
|
||||
{% endif %}
|
||||
{% if perms.maistar_ranking.change_game %}
|
||||
<a href="{% url 'maistar-edit-game' game.pk %}"><img src="{{STATIC_URL}}icons/table_edit.png" alt="{% trans 'Edit' %}" title="{% trans 'Edit Game' %}"/></a>
|
||||
<a href="{% url 'maistar-edit-game' game.pk %}"><span class="fa fa-pencil" title="{% trans 'Edit Game' %}"></span></a>
|
||||
{% endif %}
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@@ -50,9 +50,10 @@
|
||||
|
||||
{% block redbox %}
|
||||
<h2>{% trans 'Latest Games' %}</h2>
|
||||
<ul class="list">
|
||||
<ul class="fa-ul">
|
||||
{% for game in latest_games %}
|
||||
<li class="hanchan">
|
||||
<li>
|
||||
<span class="fa-li fa fa-glass"></span>
|
||||
<a href="{% url 'maistar-game-list' game.event.pk %}">{{game.event.start|date:'SHORT_DATE_FORMAT'}}:</a>
|
||||
<small>{{game.player_names}}</small>
|
||||
</li>
|
||||
@@ -60,9 +61,9 @@
|
||||
</ul>
|
||||
|
||||
<h3>{% trans 'Latest Events' %}</h3>
|
||||
<ul class="list">
|
||||
<ul class="fa-ul">
|
||||
{% for event in latest_events %}
|
||||
<li class="event"><a href="{% url 'maistar-game-list' event.pk %}">{{event.name}}</a></li>
|
||||
<li><span class="fa-li fa fa-calendar-o"></span> <a href="{% url 'maistar-game-list' event.pk %}">{{event.name}}</a></li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
|
||||
|
||||
@@ -83,7 +83,7 @@ class ListPlayerGames(PlayerScore):
|
||||
|
||||
def get_context_data(self, **kwargs):
|
||||
context = super(ListPlayerGames, self).get_context_data()
|
||||
context['membership'] = Membership.objects.get(user=self.user)
|
||||
context['membership'] = self.user
|
||||
context['season_list'] = models.Ranking.objects.filter(user=self.user).values_list('season', flat=True)
|
||||
context['season'] = self.season
|
||||
return context
|
||||
|
||||
Reference in New Issue
Block a user