diff --git a/cabinet/admin.py b/cabinet/admin.py index af9985c..5994a6e 100644 --- a/cabinet/admin.py +++ b/cabinet/admin.py @@ -7,10 +7,6 @@ from cabinet.models import File -def fieldset(*fields): - return [(None, {'fields': fields})] - - @admin.register(File) class FileAdmin(FileAdminBase): list_display = ('admin_thumbnail', 'admin_file_name', 'admin_details') @@ -18,16 +14,27 @@ class FileAdmin(FileAdminBase): def get_fieldsets(self, request, obj=None): if obj and obj.image_file.name: - return fieldset( - 'folder', 'image_file', '_overwrite', 'caption', - 'image_alt_text', 'copyright', - ) + return [ + (None, {'fields': ( + 'folder', 'image_file', 'caption', 'image_alt_text', + 'copyright', + )}), + (_('Advanced'), { + 'fields': ('_overwrite',), + 'classes': ('collapse',), + }), + ] elif obj and obj.download_file.name: - return fieldset( - 'folder', 'download_file', '_overwrite', 'caption', - 'copyright', - ) + return [ + (None, {'fields': ( + 'folder', 'download_file', 'caption', 'copyright', + )}), + (_('Advanced'), { + 'fields': ('_overwrite',), + 'classes': ('collapse',), + }), + ] else: return [ diff --git a/docs/index.rst b/docs/index.rst index 6d20826..02cf278 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -114,7 +114,7 @@ Next, ``admin.py``:: from django.contrib import admin - from cabinet.admin import FileAdmin as _FileAdmin, fieldset + from cabinet.admin import FileAdmin as _FileAdmin from .models import File @@ -128,20 +128,20 @@ Next, ``admin.py``:: # pdf_file field of existing files: def get_fieldsets(self, request, obj=None): if obj and obj.image_file.name: - return fieldset( + return [(None, {'fields': ( 'folder', 'image_file', 'caption', 'image_alt_text', 'copyright', - ) + )})] elif obj and obj.pdf_file.name: - return fieldset( + return [(None, {'fields': ( 'folder', 'pdf_file', 'caption', 'copyright', - ) + )})] elif obj and obj.download_file.name: - return fieldset( + return [(None, {'fields': ( 'folder', 'download_file', 'caption', 'copyright', - ) + )})] else: return [