# -*- mode: python; coding: utf-8 -*- # Copyright (C) 2017-2019 by BDE ENS Paris-Saclay # SPDX-License-Identifier: GPL-3.0-or-later from django.contrib import admin from med.admin import admin_site from .models import GameSave, Player class PlayerInline(admin.TabularInline): model = Player class GameSaveAdmin(admin.ModelAdmin): inlines = [PlayerInline, ] list_display = ('__str__', 'game_master', 'game_has_ended') date_hierarchy = 'created_at' def has_change_permission(self, request, obj=None): """ If user is game master then authorize edit """ if obj and obj.game_master == request.user: return True return super().has_change_permission(request, obj) def has_delete_permission(self, request, obj=None): """ If user is game master then authorize deletion """ if obj and obj.game_master == request.user: return True return super().has_delete_permission(request, obj) admin_site.register(GameSave, GameSaveAdmin)