46 lines
1.5 KiB
Python
46 lines
1.5 KiB
Python
# -*- mode: python; coding: utf-8 -*-
|
|
# Copyright (C) 2017-2019 by BDE ENS Paris-Saclay
|
|
# SPDX-License-Identifier: GPL-3.0-or-later
|
|
|
|
from reversion.admin import VersionAdmin
|
|
|
|
from med.admin import admin_site
|
|
from .models import Auteur, Emprunt, Jeu, Media
|
|
|
|
|
|
class AuteurAdmin(VersionAdmin):
|
|
list_display = ('nom',)
|
|
search_fields = ('nom',)
|
|
|
|
|
|
class MediaAdmin(VersionAdmin):
|
|
list_display = ('titre', 'authors', 'cote')
|
|
search_fields = ('titre', 'auteur__nom', 'cote')
|
|
autocomplete_fields = ('auteur',)
|
|
|
|
def authors(self, obj):
|
|
return ", ".join([a.nom for a in obj.auteur.all()])
|
|
|
|
|
|
class EmpruntAdmin(VersionAdmin):
|
|
list_display = ('media', 'user', 'date_emprunt', 'date_rendu',
|
|
'permanencier_emprunt', 'permanencier_rendu')
|
|
search_fields = ('media__titre', 'media__cote', 'user__username',
|
|
'date_emprunt', 'date_rendu')
|
|
date_hierarchy = 'date_emprunt'
|
|
autocomplete_fields = ('media', 'user', 'permanencier_emprunt',
|
|
'permanencier_rendu')
|
|
|
|
|
|
class JeuAdmin(VersionAdmin):
|
|
list_display = ('nom', 'proprietaire', 'duree', 'nombre_joueurs_min',
|
|
'nombre_joueurs_max', 'comment')
|
|
search_fields = ('nom', 'proprietaire__username', 'duree', 'comment')
|
|
autocomplete_fields = ('proprietaire',)
|
|
|
|
|
|
admin_site.register(Auteur, AuteurAdmin)
|
|
admin_site.register(Media, MediaAdmin)
|
|
admin_site.register(Emprunt, EmpruntAdmin)
|
|
admin_site.register(Jeu, JeuAdmin)
|