kopia lustrzana https://gitlab.com/marnanel/chapeau
205 wiersze
4.6 KiB
Python
205 wiersze
4.6 KiB
Python
from django.contrib import admin
|
|
from polymorphic.admin import *
|
|
from django_kepi.models import *
|
|
from django_kepi.validation import IncomingMessage
|
|
import django_kepi.forms as kepi_forms
|
|
|
|
###################################
|
|
|
|
class ObjectChildAdmin(PolymorphicChildModelAdmin):
|
|
base_model = Object
|
|
base_form = kepi_forms.ObjectAdminForm
|
|
|
|
###################################
|
|
|
|
# Why is this such an enormous faff?
|
|
|
|
@admin.register(Activity)
|
|
class ActivityChildAdmin(ObjectChildAdmin):
|
|
child_models = (
|
|
Activity, Create, Update, Delete, Follow, Add, Remove, \
|
|
Like, Undo, Accept, Reject, Announce,
|
|
)
|
|
|
|
base_model = Activity
|
|
|
|
@admin.register(Create)
|
|
class CreateChildAdmin(ActivityChildAdmin):
|
|
base_model = Create
|
|
|
|
@admin.register(Update)
|
|
class UpdateChildAdmin(ActivityChildAdmin):
|
|
base_model = Update
|
|
|
|
@admin.register(Delete)
|
|
class DeleteChildAdmin(ActivityChildAdmin):
|
|
base_model = Delete
|
|
|
|
@admin.register(Follow)
|
|
class FollowChildAdmin(ActivityChildAdmin):
|
|
base_model = Follow
|
|
|
|
@admin.register(Add)
|
|
class AddChildAdmin(ActivityChildAdmin):
|
|
base_model = Add
|
|
|
|
@admin.register(Remove)
|
|
class RemoveChildAdmin(ActivityChildAdmin):
|
|
base_model = Remove
|
|
|
|
@admin.register(Like)
|
|
class LikeChildAdmin(ActivityChildAdmin):
|
|
base_model = Like
|
|
|
|
@admin.register(Undo)
|
|
class UndoChildAdmin(ActivityChildAdmin):
|
|
base_model = Undo
|
|
|
|
@admin.register(Accept)
|
|
class AcceptChildAdmin(ActivityChildAdmin):
|
|
base_model = Accept
|
|
|
|
@admin.register(Reject)
|
|
class RejectChildAdmin(ActivityChildAdmin):
|
|
base_model = Reject
|
|
|
|
@admin.register(Announce)
|
|
class AnnounceChildAdmin(ActivityChildAdmin):
|
|
base_model = Announce
|
|
|
|
###################################
|
|
|
|
@admin.register(Actor)
|
|
class ActorChildAdmin(ObjectChildAdmin):
|
|
|
|
child_models = (
|
|
Application, Group, Organization, Person, Service,
|
|
)
|
|
base_model = Actor
|
|
|
|
@admin.register(Application)
|
|
class ApplicationChildAdmin(ActorChildAdmin):
|
|
base_model = Application
|
|
|
|
@admin.register(Group)
|
|
class GroupChildAdmin(ActorChildAdmin):
|
|
base_model = Group
|
|
|
|
@admin.register(Organization)
|
|
class OrganizationChildAdmin(ActorChildAdmin):
|
|
base_model = Organization
|
|
|
|
@admin.register(Person)
|
|
class PersonChildAdmin(ActorChildAdmin):
|
|
base_model = Person
|
|
|
|
@admin.register(Service)
|
|
class ServiceChildAdmin(ActorChildAdmin):
|
|
base_model = Service
|
|
|
|
#####################################
|
|
|
|
@admin.register(Item)
|
|
class ItemChildAdmin(ObjectChildAdmin):
|
|
base_model = Item
|
|
|
|
child_models = (
|
|
Article, Audio, Document, Event, Image, Note, \
|
|
Page, Place, Profile, Relationship, Video,
|
|
)
|
|
|
|
@admin.register(Article)
|
|
class ArticleChildAdmin(ItemChildAdmin):
|
|
base_model = Article
|
|
|
|
@admin.register(Audio)
|
|
class AudioChildAdmin(ItemChildAdmin):
|
|
base_model = Audio
|
|
|
|
@admin.register(Document)
|
|
class DocumentChildAdmin(ItemChildAdmin):
|
|
base_model = Document
|
|
|
|
@admin.register(Event)
|
|
class EventChildAdmin(ItemChildAdmin):
|
|
base_model = Event
|
|
|
|
@admin.register(Image)
|
|
class ImageChildAdmin(ItemChildAdmin):
|
|
base_model = Image
|
|
|
|
@admin.register(Note)
|
|
class NoteChildAdmin(ItemChildAdmin):
|
|
base_model = Note
|
|
|
|
@admin.register(Page)
|
|
class PageChildAdmin(ItemChildAdmin):
|
|
base_model = Page
|
|
|
|
@admin.register(Place)
|
|
class PlaceChildAdmin(ItemChildAdmin):
|
|
base_model = Place
|
|
|
|
@admin.register(Profile)
|
|
class ProfileChildAdmin(ItemChildAdmin):
|
|
base_model = Profile
|
|
|
|
@admin.register(Relationship)
|
|
class RelationshipChildAdmin(ItemChildAdmin):
|
|
base_model = Relationship
|
|
|
|
@admin.register(Video)
|
|
class VideoChildAdmin(ItemChildAdmin):
|
|
base_model = Video
|
|
|
|
###################################
|
|
|
|
@admin.register(Object)
|
|
class ObjectParentAdmin(PolymorphicParentModelAdmin):
|
|
base_model = Object
|
|
child_models = (
|
|
Create,
|
|
Update,
|
|
Delete,
|
|
Follow,
|
|
Add,
|
|
Remove,
|
|
Like,
|
|
Undo,
|
|
Accept,
|
|
Reject,
|
|
Announce,
|
|
Application,
|
|
Group,
|
|
Organization,
|
|
Person,
|
|
Service,
|
|
Article,
|
|
Audio,
|
|
Document,
|
|
Event,
|
|
Image,
|
|
Note,
|
|
Page,
|
|
Place,
|
|
Profile,
|
|
Relationship,
|
|
Video,
|
|
)
|
|
list_filter = (PolymorphicChildModelFilter, )
|
|
|
|
###################################
|
|
|
|
class CollectionMemberInline(admin.TabularInline):
|
|
model = CollectionMember
|
|
|
|
@admin.register(Collection)
|
|
class CollectionAdmin(admin.ModelAdmin):
|
|
inlines = [
|
|
CollectionMemberInline,
|
|
]
|
|
|
|
@admin.register(IncomingMessage)
|
|
class IncomingMessageAdmin(admin.ModelAdmin):
|
|
pass
|