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)