colles.mp2i-vms.fr/colloscope/admin.py

81 lines
1.9 KiB
Python

from django.contrib import admin
from django.utils.translation import gettext_lazy as _
from colloscope.models import *
@admin.register(School)
class LyceeAdmin(admin.ModelAdmin):
list_display = ('uai', 'description', 'vacation')
admin.site.register(Class)
admin.site.register(Term)
admin.site.register(Subject)
admin.site.register(GroupType)
admin.site.register(Group)
@admin.register(Student)
class StudentAdmin(admin.ModelAdmin):
list_display = ("cls", "first_name", "last_name")
list_filter = ("cls",)
admin.site.register(Member)
admin.site.register(Colleur)
class ColleInline(admin.StackedInline):
model = Colle
raw_id_fields = ("slot",)
@admin.register(Slot)
class SlotAdmin(admin.ModelAdmin):
list_display = ('subject', 'colleur', "term", 'view_day', "time", "duration")
list_filter = ("subject", "colleur", "term")
inlines = [ColleInline]
def view_day(self, obj):
jours = ["dimanche", "lundi", "mardi", "mercredi", "jeudi", "vendredi", "samedi"]
return jours[obj.day]
view_day.short_description = _('Day')
class SwapInline(admin.StackedInline):
model = Swap
raw_id_fields = ("colle",)
@admin.register(Colle)
class ColleAdmin(admin.ModelAdmin):
list_display = ('view_subject', 'view_colleur', 'view_room', 'datetime',)
list_filter = ('slot',)
inlines = [SwapInline]
def view_subject(self, obj):
return obj.slot.subject
view_subject.short_description = _('Subject')
def view_colleur(self, obj):
return obj.slot.colleur
def view_room(self, obj):
return obj.slot.room
view_subject.short_description = _('Subject')
view_colleur.short_description = _('Colleur')
view_room.short_description = _('Room')
@admin.register(Swap)
class SwapAdmin(admin.ModelAdmin):
list_display = ('colle', 'enroll', 'student')
list_filter = ('colle', 'enroll', 'student')
admin.site.register(Profile)
admin.site.register(CalendarLink)