kopia lustrzana https://github.com/jedie/PyInventory
77 wiersze
2.2 KiB
Python
77 wiersze
2.2 KiB
Python
![]() |
import logging
|
||
|
|
||
|
import tagulous
|
||
![]() |
from adminsortable2.admin import SortableAdminMixin, SortableInlineAdminMixin
|
||
![]() |
from django.contrib import admin
|
||
|
from django.utils.translation import gettext_lazy as _
|
||
|
from import_export.admin import ImportExportMixin
|
||
|
from import_export.resources import ModelResource
|
||
|
|
||
![]() |
from inventory.admin.base import BaseFileModelInline, BaseImageModelInline, BaseUserAdmin, UserInlineMixin
|
||
![]() |
from inventory.admin.tagulous_fix import TagulousModelAdminFix
|
||
![]() |
from inventory.models import MemoLinkModel, MemoModel
|
||
|
from inventory.models.memo import MemoFileModel, MemoImageModel
|
||
|
|
||
|
|
||
|
logger = logging.getLogger(__name__)
|
||
|
|
||
|
|
||
|
class MemoLinkModelInline(UserInlineMixin, SortableInlineAdminMixin, admin.TabularInline):
|
||
|
model = MemoLinkModel
|
||
|
extra = 0
|
||
|
|
||
|
|
||
|
class MemoImageModelInline(BaseImageModelInline):
|
||
|
model = MemoImageModel
|
||
|
|
||
|
|
||
|
class MemoFileModelInline(BaseFileModelInline):
|
||
|
model = MemoFileModel
|
||
|
|
||
|
|
||
|
class MemoModelResource(ModelResource):
|
||
|
class Meta:
|
||
|
model = MemoModel
|
||
|
|
||
|
|
||
|
@admin.register(MemoModel)
|
||
![]() |
class MemoModelAdmin(TagulousModelAdminFix, ImportExportMixin, SortableAdminMixin, BaseUserAdmin):
|
||
![]() |
def get_max_order(self, request, obj=None):
|
||
|
# Work-a-round for: https://github.com/jrief/django-admin-sortable2/issues/341
|
||
|
return 0
|
||
|
|
||
![]() |
date_hierarchy = 'create_dt'
|
||
![]() |
list_display = ('name', 'update_dt')
|
||
![]() |
ordering = ('-update_dt',)
|
||
|
list_display_links = ('name',)
|
||
|
list_filter = ('tags',)
|
||
|
search_fields = ('name', 'memo', 'tags__name')
|
||
|
fieldsets = (
|
||
![]() |
(
|
||
|
_('Internals'),
|
||
|
{
|
||
|
'classes': ('collapse',),
|
||
|
'fields': (
|
||
|
('id', 'version'),
|
||
|
'user',
|
||
|
),
|
||
|
},
|
||
|
),
|
||
|
(_('Meta'), {'classes': ('collapse',), 'fields': ('create_dt', 'update_dt')}),
|
||
|
(
|
||
|
_('Basic'),
|
||
|
{
|
||
|
'fields': (
|
||
|
'name',
|
||
|
'memo',
|
||
|
'tags',
|
||
|
)
|
||
|
},
|
||
|
),
|
||
![]() |
)
|
||
|
readonly_fields = ('id', 'create_dt', 'update_dt', 'user')
|
||
|
inlines = (MemoImageModelInline, MemoFileModelInline, MemoLinkModelInline)
|
||
|
|
||
|
|
||
|
tagulous.admin.enhance(MemoModel, MemoModelAdmin)
|