Skip to content
Snippets Groups Projects
Commit 5c949861 authored by Nadja Geisler's avatar Nadja Geisler :sunny:
Browse files

configure lists in admin view

for each model in AKModelspecify
what to display in list
what to filter by
what to edit in list
how to order
parent ada2456d
Branches
No related tags found
No related merge requests found
...@@ -6,11 +6,17 @@ from django.utils import timezone ...@@ -6,11 +6,17 @@ from django.utils import timezone
from django.utils.translation import gettext_lazy as _ from django.utils.translation import gettext_lazy as _
from AKModel.availability import Availability from AKModel.availability import Availability
from AKModel.models import Event, AKOwner, AKCategory, AKTrack, AKTag, AKRequirement, AK, Room, AKSlot from AKModel.models import Event, AKOwner, AKCategory, AKTrack, AKTag, AKRequirement, AK, AKSlot, Room
@admin.register(Event) @admin.register(Event)
class EventAdmin(admin.ModelAdmin): class EventAdmin(admin.ModelAdmin):
model = Event
list_display = ['name', 'place', 'start', 'end', 'active']
list_filter = ['active']
list_editable = ['active']
ordering = ['start']
def get_form(self, request, obj=None, change=False, **kwargs): def get_form(self, request, obj=None, change=False, **kwargs):
# Use timezone of event # Use timezone of event
if obj is not None and obj.timezone: if obj is not None and obj.timezone:
...@@ -20,12 +26,50 @@ class EventAdmin(admin.ModelAdmin): ...@@ -20,12 +26,50 @@ class EventAdmin(admin.ModelAdmin):
timezone.activate("UTC") timezone.activate("UTC")
return super().get_form(request, obj, change, **kwargs) return super().get_form(request, obj, change, **kwargs)
admin.site.register(AKOwner)
admin.site.register(AKCategory) @admin.register(AKOwner)
admin.site.register(AKTrack) class AKOwnerAdmin(admin.ModelAdmin):
admin.site.register(AKTag) model = AKOwner
admin.site.register(AKRequirement) list_display = ['name', 'institution', 'event']
list_filter = ['institution', 'event']
list_editable = []
ordering = ['name']
@admin.register(AKCategory)
class AKCategoryAdmin(admin.ModelAdmin):
model = AKCategory
list_display = ['name', 'color', 'event']
list_filter = ['event']
list_editable = ['color']
ordering = ['name']
@admin.register(AKTrack)
class AKTrackAdmin(admin.ModelAdmin):
model = AKTrack
list_display = ['name', 'color', 'event']
list_filter = ['event']
list_editable = ['color']
ordering = ['name']
@admin.register(AKTag)
class AKTagAdmin(admin.ModelAdmin):
model = AKTag
list_display = ['name']
list_filter = []
list_editable = []
ordering = ['name']
@admin.register(AKRequirement)
class AKRequirementAdmin(admin.ModelAdmin):
model = AKRequirement
list_display = ['name', 'event']
list_filter = ['event']
list_editable = []
ordering = ['name']
class WishFilter(SimpleListFilter): class WishFilter(SimpleListFilter):
...@@ -48,12 +92,14 @@ class WishFilter(SimpleListFilter): ...@@ -48,12 +92,14 @@ class WishFilter(SimpleListFilter):
return queryset return queryset
@admin.register(AK)
class AKAdmin(admin.ModelAdmin): class AKAdmin(admin.ModelAdmin):
model = AK model = AK
list_display = ['name', 'short_name', 'category', 'is_wish'] list_display = ['name', 'short_name', 'category', 'track', 'is_wish', 'interest', 'event']
actions = ['wiki_export'] list_filter = ['category', WishFilter, 'event']
list_filter = ['category', WishFilter] list_editable = ['short_name', 'track', 'interest']
ordering = ['pk'] ordering = ['pk']
actions = ['wiki_export']
def is_wish(self, obj): def is_wish(self, obj):
return obj.wish return obj.wish
...@@ -62,18 +108,29 @@ class AKAdmin(admin.ModelAdmin): ...@@ -62,18 +108,29 @@ class AKAdmin(admin.ModelAdmin):
return render(request, return render(request,
'admin/AKModel/wiki_export.html', 'admin/AKModel/wiki_export.html',
context={"AKs": queryset}) context={"AKs": queryset})
wiki_export.short_description = _("Export to wiki syntax") wiki_export.short_description = _("Export to wiki syntax")
is_wish.boolean = True is_wish.boolean = True
admin.site.register(AK, AKAdmin) @admin.register(Room)
class RoomAdmin(admin.ModelAdmin):
admin.site.register(Room) model = Room
list_display = ['name', 'building', 'capacity', 'event']
list_filter = ['building', 'properties', 'event']
list_editable = []
ordering = ['building', 'name']
@admin.register(AKSlot) @admin.register(AKSlot)
class AKSlotAdmin(admin.ModelAdmin): class AKSlotAdmin(admin.ModelAdmin):
model = AKSlot
list_display = ['id', 'ak', 'room', 'start', 'duration', 'event']
list_filter = ['room', 'event']
list_editable = ['ak', 'room', 'start', 'duration']
ordering = ['start']
readonly_fields = ['updated'] readonly_fields = ['updated']
def get_form(self, request, obj=None, change=False, **kwargs): def get_form(self, request, obj=None, change=False, **kwargs):
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment