Skip to content

Commit

Permalink
Move the _overwrite checkbox into a collapsed fieldset
Browse files Browse the repository at this point in the history
  • Loading branch information
matthiask committed Mar 18, 2018
1 parent c474cd9 commit eb155cb
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 19 deletions.
31 changes: 19 additions & 12 deletions cabinet/admin.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,27 +7,34 @@
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')
list_display_links = ('admin_thumbnail', 'admin_file_name')

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 [
Expand Down
14 changes: 7 additions & 7 deletions docs/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand All @@ -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 [
Expand Down

0 comments on commit eb155cb

Please sign in to comment.