97 lines
3.6 KiB
Python
97 lines
3.6 KiB
Python
from django.contrib import admin
|
|
from shared.admin import admin_site
|
|
|
|
from .models import Event, Place, ActivityTag, Activity, ActivityTemplate # TODO add me
|
|
from equipment.models import EquipmentAttribution
|
|
|
|
|
|
class EquipmentAttributionExtraInline(admin.TabularInline):
|
|
model = EquipmentAttribution
|
|
extra = 0
|
|
classes = ['collapse']
|
|
|
|
|
|
class EventAdmin(admin.ModelAdmin):
|
|
list_display = ['title', 'slug', 'beginning_date', 'ending_date']
|
|
readonly_fields = ['created_by', 'created_at', ]
|
|
ordering = ['title', 'beginning_date', 'ending_date', ]
|
|
search_fields = ['title', 'decription', ]
|
|
list_filter = ['beginning_date', 'ending_date', ]
|
|
date_hierarchy = 'beginning_date'
|
|
|
|
|
|
class PlaceAdmin(admin.ModelAdmin):
|
|
list_display = ['name', 'event', ]
|
|
ordering = ['name', 'event', ]
|
|
search_fields = ['name', ]
|
|
list_filter = ['event', ]
|
|
|
|
|
|
class ActivityTagAdmin(admin.ModelAdmin):
|
|
list_display = ['name', 'event', 'is_public', ]
|
|
ordering = ['name', 'event', 'is_public', ]
|
|
search_fields = ['name', ]
|
|
list_filter = ['event', 'is_public', ]
|
|
|
|
|
|
class ActivityTemplateAdmin(admin.ModelAdmin):
|
|
save_as_continue = True
|
|
save_on_top = True
|
|
list_display = ['name', 'title', 'event', 'is_public', ]
|
|
ordering = ['name', 'title', 'event', 'has_perm', ]
|
|
search_fields = ['name', 'title', 'description', 'remark', ]
|
|
list_filter = ['event', 'is_public', 'has_perm', 'tags', ]
|
|
filter_horizontal = ['tags', 'places', ]
|
|
fieldsets = (
|
|
('Identifiant', {
|
|
'fields': ('name', ),
|
|
}),
|
|
('Général', {
|
|
'fields': ('event', 'title', 'is_public', 'places', ),
|
|
'description': "Tous ces champs sont héritables (Sauf Évènement)",
|
|
}),
|
|
('Permanences', {
|
|
'fields': ('has_perm', ('min_perm', 'max_perm', ), ),
|
|
'classes': ('collapse',),
|
|
'description': "Tous ces champs sont héritables",
|
|
}),
|
|
('Descriptions', {
|
|
'fields': ('description', 'tags', 'remarks', ),
|
|
'classes': ('collapse',),
|
|
'description': "Tous ces champs sont héritables",
|
|
}),
|
|
)
|
|
|
|
|
|
class ActivityAdmin(admin.ModelAdmin):
|
|
save_as_continue = True
|
|
save_on_top = True
|
|
list_display = ['title', 'event', 'is_public', 'parent', ]
|
|
ordering = ['title', 'event', 'has_perm', 'parent', ]
|
|
search_fields = ['title', 'description', 'remark', ]
|
|
list_filter = ['event', 'is_public', 'has_perm', 'tags', ]
|
|
filter_horizontal = ['tags', 'places', 'staff', ]
|
|
inlines = [EquipmentAttributionExtraInline, ]
|
|
fieldsets = (
|
|
('Général', {
|
|
'fields': ('event', 'parent', 'title', 'is_public', ('beginning', 'end', ), 'places', ),
|
|
'description': "Tous ces champs sont héritables (sauf parent et Évènement)",
|
|
}),
|
|
('Permanences', {
|
|
'fields': ('has_perm', ('min_perm', 'max_perm', ), 'staff', ),
|
|
'classes': ('collapse',),
|
|
'description': "Tous ces champs sont héritables (sauf les gens en perm)",
|
|
}),
|
|
('Descriptions', {
|
|
'fields': ('description', 'tags', 'remarks', ),
|
|
'classes': ('collapse',),
|
|
'description': "Tous ces champs sont héritables",
|
|
}),
|
|
)
|
|
|
|
|
|
admin_site.register(Event, EventAdmin)
|
|
admin_site.register(Place, PlaceAdmin)
|
|
admin_site.register(ActivityTag, ActivityTagAdmin)
|
|
admin_site.register(ActivityTemplate, ActivityTemplateAdmin)
|
|
admin_site.register(Activity, ActivityAdmin)
|