Milestone 08-14

* Mahjong Ranking wurde stark vereinfacht um Fehler besser vorzubeugen.
* Online WYSIWYG Editor auf CKEditor umgeändert, damit online bearbeiten für unbedarfte besser funktioniert.
* Viele kleine Optimierungen am CSS für bessere Performance.
* CSS wird jetzt aus LESS Code generiert
* Für dise Arbeit wird jetzt grunt und node package management lokal verwendet.
This commit is contained in:
Christian Berg
2015-08-23 16:37:39 +02:00
parent 8981d4b261
commit a7bfd2157d
279 changed files with 14708 additions and 2429 deletions

View File

@@ -10,7 +10,6 @@ from django.contrib import admin
from django.utils.translation import ugettext as _
from . import models, set_dirty
from forms import PlayerFormSet
def recalculate(modeladmin, request, queryset):
@@ -23,27 +22,25 @@ def recalculate(modeladmin, request, queryset):
elif isinstance(modeladmin, KyuDanAdmin):
for kyu_dan_ranking in queryset:
set_dirty(user=kyu_dan_ranking.user_id)
elif isinstance(modeladmin, LadderSeasonAdmin):
for ranking_season in queryset:
set_dirty(season=ranking_season.id)
elif isinstance(modeladmin, LadderRankingAdmin):
elif isinstance(modeladmin, SeasonRankingAdmin):
for ladder_ranking in queryset:
set_dirty(user=ladder_ranking.user_id,
season=ladder_ranking.season_id) # @IgnorePep8
set_dirty(user=ladder_ranking.user_id, season=ladder_ranking.season)
recalculate.short_description = _("Recalculate")
class PlayerInline(admin.TabularInline):
extra = 4
formset = PlayerFormSet
readonly_fields = ('game_score', 'placement', 'kyu_points', 'dan_points', 'bonus_points',
'comment',)
max_num = 4
model = models.Player
def confirm(modeladmin, request, queryset):
for hanchan in queryset:
hanchan.confirmed = True
hanchan.save()
confirm.short_description = _("Confirm")
def unconfirm(modeladmin, request, queryset):
for hanchan in queryset:
hanchan.confirmed = False
hanchan.save()
unconfirm.short_description = _('Set unconfirmed')
class EventRankingAdmin(admin.ModelAdmin):
list_filter = ['event']
list_display = ('placement', 'user', 'event', 'avg_placement', 'avg_score',
@@ -53,18 +50,27 @@ class EventRankingAdmin(admin.ModelAdmin):
class HanchanAdmin(admin.ModelAdmin):
actions = [recalculate]
actions = [recalculate, confirm, unconfirm]
date_hierarchy = 'start'
list_filter = ['season', 'event']
list_display = ('event', 'start', 'player_names', 'comment',
'confirmed', 'valid', 'check_validity')
inlines = (PlayerInline,)
readonly_fields = ('valid', 'check_validity')
def save_formset(self, request, form, formset, change):
formset.save()
form.is_valid()
form.save()
list_filter = ('season', 'event', 'confirmed')
search_fields = ('player_names',)
list_display = ('event', 'start', 'player_names', 'comment', 'confirmed')
readonly_fields = ('season', 'player1_comment', 'player2_comment',
'player3_comment', 'player4_comment')
fieldsets = (
('Hanchan', {
'fields': (
('event', 'season'),
'start',
('player1', 'player1_input_score', 'player1_comment'),
('player2', 'player2_input_score', 'player2_comment'),
('player3', 'player3_input_score', 'player3_comment'),
('player4', 'player4_input_score', 'player4_comment'),
'comment', 'confirmed'
),
'classes': ('grp-collapse grp-open',),
}),
)
class KyuDanAdmin(admin.ModelAdmin):
@@ -84,7 +90,7 @@ class KyuDanAdmin(admin.ModelAdmin):
)
class LadderRankingAdmin(admin.ModelAdmin):
class SeasonRankingAdmin(admin.ModelAdmin):
actions = [recalculate]
list_display = ('placement', 'season', 'user', 'avg_placement',
'avg_score', 'hanchan_count', 'good_hanchans',
@@ -98,8 +104,7 @@ class LadderSeasonAdmin(admin.ModelAdmin):
list_display = ('name', 'start', 'end')
admin.site.register(models.EventRanking, EventRankingAdmin)
admin.site.register(models.Hanchan, HanchanAdmin)
admin.site.register(models.KyuDanRanking, KyuDanAdmin)
admin.site.register(models.LadderSeason, LadderSeasonAdmin)
admin.site.register(models.LadderRanking, LadderRankingAdmin)
admin.site.register(models.SeasonRanking, SeasonRankingAdmin)
admin.site.register(models.EventRanking, EventRankingAdmin)