134 lines
3.8 KiB
Python
134 lines
3.8 KiB
Python
from django.contrib import admin
|
|
from .models import (
|
|
EventCategory,
|
|
EventShare,
|
|
EventView,
|
|
Favorites,
|
|
Venue,
|
|
EventMaster,
|
|
Event,
|
|
EventPrincipalInteraction,
|
|
AgeGroups
|
|
)
|
|
|
|
|
|
# Register your models here.
|
|
class EventCategoryAdmin(admin.ModelAdmin):
|
|
list_display = ("title", "description")
|
|
search_fields = ("title", "description")
|
|
list_filter = ("title",)
|
|
|
|
|
|
class VenueAdmin(admin.ModelAdmin):
|
|
list_display = ("id", "title", "address", "latitude", "longitude")
|
|
search_fields = ("title", "address")
|
|
list_filter = ("title",)
|
|
|
|
|
|
class EventMasterAdmin(admin.ModelAdmin):
|
|
list_display = ("title", "event_category", "description")
|
|
search_fields = ("title", "description")
|
|
list_filter = ("event_category", "title")
|
|
|
|
|
|
class EventAdmin(admin.ModelAdmin):
|
|
list_display = (
|
|
"id",
|
|
"title",
|
|
"category",
|
|
"event_master",
|
|
"start_date",
|
|
"end_date",
|
|
"venue",
|
|
"status",
|
|
# "tags",
|
|
"draft",
|
|
"deleted",
|
|
"active",
|
|
)
|
|
list_filter = ("category", "status", "draft", "start_date", "end_date", "venue")
|
|
search_fields = (
|
|
"title",
|
|
"description",
|
|
"venue__title",
|
|
"category__name",
|
|
) # Assuming Venue and EventCategory have a title and name fields respectively
|
|
date_hierarchy = "start_date" # Provides a quick date drill down functionality
|
|
ordering = ("start_date", "from_time") # Orders events in the list view
|
|
fieldsets = (
|
|
(None, {"fields": ("title", "description", "image", "status")}),
|
|
(
|
|
"Date & Time",
|
|
{
|
|
"fields": ("start_date", "end_date", "from_time", "to_time"),
|
|
},
|
|
),
|
|
(
|
|
"Venue Details",
|
|
{
|
|
"fields": ("venue", "venue_capacity"),
|
|
},
|
|
),
|
|
(
|
|
"Category Details",
|
|
{
|
|
"fields": ("category",),
|
|
},
|
|
),
|
|
(
|
|
"Entry",
|
|
{
|
|
"fields": ("entry_type", "entry_fee", "key_guest", "age_group"),
|
|
},
|
|
),
|
|
(
|
|
"Miscellaneous",
|
|
{
|
|
"fields": ("video_url", "draft"),
|
|
},
|
|
),
|
|
)
|
|
filter_horizontal = () # if there are many-to-many fields
|
|
raw_id_fields = ("venue", "category", "event_master")
|
|
|
|
|
|
class EventPrincipalInteractionAdmin(admin.ModelAdmin):
|
|
list_display = ("id", "principal", "event", "status")
|
|
list_filter = ("status",)
|
|
search_fields = (
|
|
"principal__name",
|
|
"event__title",
|
|
)
|
|
|
|
|
|
class EventViewAdmin(admin.ModelAdmin):
|
|
list_display = ("id", "event", "principal", "view_date", "location")
|
|
search_fields = ("event__title", "principal__email", "location")
|
|
list_filter = ("id", "view_date", "location", "event__title", "principal__email")
|
|
ordering = ("-view_date",)
|
|
readonly_fields = ("id",)
|
|
|
|
|
|
class EventShareAdmin(admin.ModelAdmin):
|
|
list_display = ("id", "event", "principal", "created_on")
|
|
search_fields = ("event__title", "principal__username")
|
|
list_filter = ("id", "event", "principal", "created_on")
|
|
|
|
|
|
class FavoritesAdmin(admin.ModelAdmin):
|
|
list_display = ("id", "principal", "event")
|
|
search_fields = ("principal__username", "event__title")
|
|
list_filter = ("principal", "event")
|
|
ordering = ("id",)
|
|
|
|
|
|
admin.site.register(Favorites, FavoritesAdmin)
|
|
admin.site.register(EventShare, EventShareAdmin)
|
|
admin.site.register(EventView, EventViewAdmin)
|
|
admin.site.register(EventPrincipalInteraction, EventPrincipalInteractionAdmin)
|
|
admin.site.register(Event, EventAdmin)
|
|
admin.site.register(EventCategory, EventCategoryAdmin)
|
|
admin.site.register(Venue, VenueAdmin)
|
|
admin.site.register(EventMaster, EventMasterAdmin)
|
|
admin.site.register(AgeGroups)
|