120 lines
3.2 KiB
Python
120 lines
3.2 KiB
Python
from sets.admin import *
|
|
from .models import *
|
|
from django.contrib import admin
|
|
from django.forms import widgets
|
|
# from nested_inline.admin import NestedStackedInline, NestedTabularInline, NestedModelAdmin, NestedInline
|
|
from super_inlines.admin import SuperInlineModelAdmin, SuperModelAdmin
|
|
from GeneralApp.admin import Admin_StackedInline_Block
|
|
from SlidesApp.admin import Admin_StackedInline_Slide
|
|
|
|
def sets_for_formfield_for_dbfield(field, db_field):
|
|
if db_field.name == 'url' or db_field.name == 'name' or db_field.name == 'title' or db_field.name == 'name_plural':
|
|
field.widget = widgets.TextInput(attrs={'style': 'width: 30%; height: 20px;'})
|
|
if db_field.name == 'description':
|
|
field.widget = widgets.Textarea(attrs={'style': 'width: 30%; height: 100px;'})
|
|
return field
|
|
|
|
|
|
|
|
# class Admin_StaticPage(NestedModelAdmin, Admin_Trans_BaseModelViewPage):
|
|
class Admin_Section(SuperModelAdmin, Admin_Trans_BaseModelViewPage):
|
|
|
|
|
|
fieldsets = [
|
|
(None, {
|
|
'classes': ['wide'],
|
|
'fields': ('name',
|
|
'url',
|
|
'title', 'description', 'text',
|
|
'picture',
|
|
'order',
|
|
)
|
|
}),
|
|
('SEO', {
|
|
'classes': ['wide', 'collapse'],
|
|
'fields': (
|
|
'seo_title', 'seo_description', 'seo_keywords', 'seo_text',
|
|
)
|
|
}),
|
|
]
|
|
|
|
|
|
list_display = [
|
|
'id',
|
|
'name', 'url', 'title',
|
|
'order', 'modifiedDT', 'createDT'
|
|
]
|
|
|
|
prepopulated_fields = {"url": ("name_en",)}
|
|
|
|
list_display_links = ['id']
|
|
list_editable = ['order']
|
|
|
|
list_filter = ['modifiedDT', 'createDT']
|
|
search_fields = ['name', 'title']
|
|
# filter_horizontal = ['options']
|
|
|
|
inlines = [Admin_StackedInline_Slide, Admin_StackedInline_Block]
|
|
|
|
def has_delete_permission(self, request, obj=None):
|
|
if request.user.is_superuser:
|
|
return True
|
|
|
|
if obj.url in ('main', 'spec_technics', 'works'):
|
|
return False
|
|
|
|
admin.site.register(Section,Admin_Section)
|
|
|
|
|
|
|
|
class Admin_Service(SuperModelAdmin, Admin_Trans_BaseModelViewPage):
|
|
|
|
|
|
fieldsets = [
|
|
(None, {
|
|
'classes': ['wide'],
|
|
'fields': (
|
|
'section', 'parent_service',
|
|
'name',
|
|
'url',
|
|
'title', 'description', 'text',
|
|
'picture',
|
|
'order',
|
|
)
|
|
}),
|
|
('SEO', {
|
|
'classes': ['wide', 'collapse'],
|
|
'fields': (
|
|
'seo_title', 'seo_description', 'seo_keywords', 'seo_text',
|
|
)
|
|
}),
|
|
]
|
|
|
|
|
|
list_display = [
|
|
'id',
|
|
'name', 'url', 'title',
|
|
'order', 'modifiedDT', 'createDT'
|
|
]
|
|
|
|
prepopulated_fields = {"url": ("name_en",)}
|
|
|
|
list_display_links = ['id']
|
|
list_editable = ['order']
|
|
|
|
list_filter = ['modifiedDT', 'createDT']
|
|
search_fields = ['name', 'title']
|
|
# filter_horizontal = ['options']
|
|
|
|
inlines = [Admin_StackedInline_Block]
|
|
|
|
def has_delete_permission(self, request, obj=None):
|
|
if request.user.is_superuser:
|
|
return True
|
|
|
|
if obj.url in ('main', 'spec_technics', 'works'):
|
|
return False
|
|
|
|
admin.site.register(Service, Admin_Service)
|
|
|