69 lines
2.1 KiB
Python
69 lines
2.1 KiB
Python
from BaseModels.admin_utils import Admin_BaseIconModel, Admin_GenericBaseIconStackedInline
|
|
from copy import deepcopy
|
|
|
|
class AdminStacked_FAQitem(Admin_GenericBaseIconStackedInline):
|
|
from GeneralApp.models import FAQitem
|
|
model = FAQitem
|
|
extra = 0
|
|
fields = ['order', 'question', 'answer']
|
|
|
|
class Admin_BaseModel(Admin_BaseIconModel):
|
|
def get_fieldsets(self, request, obj=None):
|
|
fieldsets = [
|
|
[None, {
|
|
'classes': ['wide'],
|
|
'fields': [
|
|
'name', 'enable',
|
|
]
|
|
}]
|
|
]
|
|
|
|
if request.user.is_superuser:
|
|
add_block = [
|
|
'Служебная инфа', {
|
|
'classes': ['wide'],
|
|
'fields': [
|
|
'json_data'
|
|
]
|
|
}]
|
|
fieldsets.append(add_block)
|
|
return fieldsets
|
|
|
|
save_on_top = True
|
|
list_display = ['id', 'name', 'enable', 'order',
|
|
'modifiedDT', 'createDT']
|
|
# list_editable = ['order']
|
|
list_display_links = ('id', 'name')
|
|
|
|
|
|
class Admin_BaseBlock(Admin_BaseModel):
|
|
def get_fieldsets(self, request, obj=None):
|
|
fieldsets = super(Admin_BaseBlock, self).get_fieldsets(request, obj)
|
|
return fieldsets
|
|
|
|
class Admin_BaseModelViewPage(Admin_BaseBlock):
|
|
def get_fieldsets(self, request, obj=None):
|
|
fieldsets = super(Admin_BaseModelViewPage, self).get_fieldsets(request, obj)
|
|
# fieldsets = deepcopy(self.fieldsets)
|
|
seo_block = (
|
|
'SEO', {
|
|
'classes': ['wide', 'collapse'],
|
|
'fields': (
|
|
'seo_title', 'seo_description',
|
|
'seo_keywords',
|
|
'seo_text'
|
|
)
|
|
})
|
|
fieldsets[0][1]['fields'].append('url')
|
|
fieldsets.append(seo_block)
|
|
return fieldsets
|
|
|
|
def get_prepopulated_fields(self, request, obj=None):
|
|
if 'url' in self.get_fieldsets(request, obj):
|
|
return {"url": ("name",)}
|
|
else:
|
|
return {}
|
|
|
|
inlines = [AdminStacked_FAQitem]
|
|
|