optimiert werden. jQuery wurde entfernt. Übersetzungen wurden korrigiert. Neue sync.sh Datei, welche änderungen mit rsync auf den Server spielt und das neuladen erzwingt.
65 lines
1.9 KiB
Python
65 lines
1.9 KiB
Python
# -*- encoding: utf-8 -*-
|
|
"""
|
|
Created on 19.09.2011
|
|
|
|
@author: christian
|
|
"""
|
|
|
|
from django.contrib import admin
|
|
from django.utils.translation import ugettext as _
|
|
|
|
from . import forms, models
|
|
|
|
|
|
def recalculate(modeladmin, request, queryset): # @UnusedVariable
|
|
if isinstance(modeladmin, RankingAdmin):
|
|
seasons = set()
|
|
for ranking in queryset:
|
|
ranking.recalculate()
|
|
seasons.add(ranking.season)
|
|
for season in seasons:
|
|
models.Ranking.objects.calculate_rankings(season)
|
|
|
|
|
|
recalculate.short_description = _("Recalculate")
|
|
|
|
|
|
class RankingAdmin(admin.ModelAdmin):
|
|
actions = [recalculate]
|
|
list_display = (
|
|
'season', 'placement', 'user', 'avg_placement', 'avg_score',
|
|
'games_count', 'games_good', 'games_won'
|
|
)
|
|
list_display_links = ('user',)
|
|
list_filter = ['season']
|
|
|
|
|
|
class GameAdmin(admin.ModelAdmin):
|
|
actions = [recalculate]
|
|
# date_hierarchy = 'event__start'
|
|
fields = (
|
|
'event',
|
|
('player1', 'player1_score', 'player1_placement'),
|
|
('player2', 'player2_score', 'player2_placement'),
|
|
('player3', 'player3_score', 'player3_placement'),
|
|
('player4', 'player4_score', 'player4_placement'),
|
|
('player5', 'player5_score', 'player5_placement'),
|
|
('player6', 'player6_score', 'player6_placement'),
|
|
'comment',
|
|
'confirmed'
|
|
)
|
|
form = forms.GameForm
|
|
list_display = ('event', 'season', 'player_names', 'comment', 'confirmed')
|
|
readonly_fields = (
|
|
'player1_placement', 'player2_placement', 'player3_placement',
|
|
'player4_placement', 'player5_placement', 'player6_placement'
|
|
)
|
|
search_fields = [
|
|
'player1__username', 'player2__username', 'player3__username',
|
|
'player4__username', 'player5__username', 'player6__username'
|
|
]
|
|
|
|
|
|
admin.site.register(models.Game, GameAdmin)
|
|
admin.site.register(models.Ranking, RankingAdmin)
|