remove feincms3 dependency

This commit is contained in:
bkfox
2019-07-01 05:02:13 +02:00
parent 4b57cd6643
commit 4caca505c4
12 changed files with 254 additions and 103 deletions

View File

@ -3,7 +3,7 @@ import copy
from django.contrib import admin
from django.utils.translation import ugettext_lazy as _
from content_editor.admin import ContentEditor
from content_editor.admin import ContentEditor, ContentEditorInline
from feincms3 import plugins
from feincms3.admin import TreeAdmin
@ -16,8 +16,9 @@ from aircox.admin.mixins import UnrelatedInlineMixin
@admin.register(models.Site)
class SiteAdmin(ContentEditor):
inlines = [
plugins.richtext.RichTextInline.create(models.SiteRichText),
plugins.image.ImageInline.create(models.SiteImage),
ContentEditorInline.create(models.SiteRichText),
ContentEditorInline.create(models.SiteImage),
ContentEditorInline.create(models.SiteLink),
]
@ -36,36 +37,58 @@ class PageDiffusionPlaylist(UnrelatedInlineMixin, TracksInline):
@admin.register(models.Page)
class PageAdmin(ContentEditor, TreeAdmin):
list_display = ["indented_title", "move_column", "is_active"]
class PageAdmin(ContentEditor):
list_display = ["title", "parent", "status"]
prepopulated_fields = {"slug": ("title",)}
# readonly_fields = ('diffusion',)
fieldsets = (
(_('Main'), {
'fields': ['title', 'slug', 'by_program', 'summary'],
'fields': ['title', 'slug', 'as_program', 'headline'],
'classes': ('tabbed', 'uncollapse')
}),
(_('Settings'), {
'fields': ['show_author', 'featured', 'allow_comments',
'fields': ['featured', 'allow_comments',
'status', 'static_path', 'path'],
'classes': ('tabbed',)
}),
(_('Infos'), {
'fields': ['diffusion'],
'classes': ('tabbed',)
}),
#(_('Infos'), {
# 'fields': ['diffusion'],
# 'classes': ('tabbed',)
#}),
)
inlines = [
plugins.richtext.RichTextInline.create(models.PageRichText),
plugins.image.ImageInline.create(models.PageImage),
ContentEditorInline.create(models.PageRichText),
ContentEditorInline.create(models.PageImage),
]
@admin.register(models.DiffusionPage)
class DiffusionPageAdmin(PageAdmin):
fieldsets = copy.deepcopy(PageAdmin.fieldsets)
fieldsets[1][1]['fields'].insert(0, 'diffusion')
inlines = PageAdmin.inlines + [
PageDiffusionPlaylist
]
# TODO: permissions
#def get_inline_instances(self, request, obj=None):
# inlines = super().get_inline_instances(request, obj)
# if obj and obj.diffusion:
# inlines.insert(0, PageDiffusionPlaylist(self.model, self.admin_site))
# return inlines
@admin.register(models.ProgramPage)
class DiffusionPageAdmin(PageAdmin):
fieldsets = copy.deepcopy(PageAdmin.fieldsets)
fieldsets[1][1]['fields'].insert(0, 'program')
inlines = PageAdmin.inlines + [
PageDiffusionPlaylist
]
def get_inline_instances(self, request, obj=None):
inlines = super().get_inline_instances(request, obj)
if obj and obj.diffusion:
inlines.insert(0, PageDiffusionPlaylist(self.model, self.admin_site))
return inlines