from BaseModels.admin_utils import ( Admin_GenericBaseIconStackedInline, Admin_BaseIconModel, GenericStackedInline, AdminImageWidget, get_image_thumb ) from copy import deepcopy from django.db import models from django.utils.translation import gettext as _ class Admin_BaseModel(Admin_BaseIconModel): pass # def get_fieldsets(self, request, obj=None): # from BaseModels.inter import get_fieldsNames_of_model # fields_names = get_fieldsNames_of_model(self.model) # # fields = [] # if 'name' in fields_names: # fields.append('name') # if 'enable'in fields_names: # fields.append('enable') # # fieldsets = [ # [None, { # 'classes': ['wide'], # 'fields': fields # }] # ] # # if request.user.is_superuser: # # fields = [] # if 'json_data' in fields: # fields.append('json_data') # # if fields: # add_block = [ # 'Служебная инфа', { # 'classes': ['wide'], # 'fields': fields # }] # fieldsets.append(add_block) # return fieldsets # # save_on_top = True # # def get_list_display(self, request, obj): # list_display = ['id'] # if getattr(obj, 'name', None): # list_display.append('name') # if getattr(obj, 'enable', None): # list_display.append('enable') # if getattr(obj, 'order', None): # list_display.append('order') # if getattr(obj, 'modifiedDT', None): # list_display.append('modifiedDT') # if getattr(obj, 'createDT', None): # list_display.append('createDT') # # return list_display # # # list_editable = ['order'] # list_display_links = ('id', 'name') class Admin_BaseBlock(Admin_BaseIconModel): pass def get_fieldsets(self, request, obj=None): fieldsets = super(Admin_BaseBlock, self).get_fieldsets(request, obj) return fieldsets from modeltranslation.admin import TranslationAdmin class AdminTranslationBase(TranslationAdmin): # def formfield_for_dbfield(self, db_field, **kwargs): # field = super(AdminTranslation_BaseIconModel, self).formfield_for_dbfield(db_field, **kwargs) # self.patch_translation_field(db_field, field, **kwargs) # return field class Media: js = ( 'modeltranslation/js/force_jquery.js', 'http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js', 'http://ajax.googleapis.com/ajax/libs/jqueryui/1.10.2/jquery-ui.min.js', 'modeltranslation/js/tabbed_translation_fields.js', ) css = { 'screen': ('modeltranslation/css/tabbed_translation_fields.css',), } from modeltranslation.admin import TranslationGenericStackedInline, TranslationGenericTabularInline class TranslationGenericTabularInlineCustom(TranslationGenericTabularInline): formfield_overrides = { models.ImageField: {'widget': AdminImageWidget}, } def image_thumb(self, obj): return get_image_thumb(self, obj) image_thumb.short_description = _('Миниатюра') image_thumb.allow_tags = True class Media: js = ( 'modeltranslation/js/force_jquery.js', 'http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js', 'http://ajax.googleapis.com/ajax/libs/jqueryui/1.10.2/jquery-ui.min.js', 'modeltranslation/js/tabbed_translation_fields.js', ) css = { 'screen': ('modeltranslation/css/tabbed_translation_fields.css',), } class TranslationGenericStackedInlineCustom(TranslationGenericStackedInline): formfield_overrides = { models.ImageField: {'widget': AdminImageWidget}, } def image_thumb(self, obj): return get_image_thumb(self, obj) image_thumb.short_description = _('Миниатюра') image_thumb.allow_tags = True class Media: js = ( 'modeltranslation/js/force_jquery.js', 'http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js', 'http://ajax.googleapis.com/ajax/libs/jqueryui/1.10.2/jquery-ui.min.js', 'modeltranslation/js/tabbed_translation_fields.js', ) css = { 'screen': ('modeltranslation/css/tabbed_translation_fields.css',), } class AdminStacked_FAQitem(TranslationGenericStackedInlineCustom): from GeneralApp.models import FAQitem model = FAQitem extra = 0 fields = ['order', 'question', 'answer'] class AdminTabular_Mediaitem(TranslationGenericTabularInlineCustom): from GeneralApp.models import MediaItem model = MediaItem extra = 0 fields = ['order', 'video', 'picture'] class Admin_BaseModelViewPage(Admin_BaseIconModel): pass # 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, AdminTabular_Mediaitem] class Admin_Trans_BaseModel(Admin_BaseModel, AdminTranslationBase): pass # # class Admin_Trans_BaseModelViewPage(AdminTranslation_BaseIconModel): # pass class Admin_Trans_BaseModelViewPage(Admin_BaseModelViewPage, AdminTranslationBase): pass