Files
django-ram/ram/repository/admin.py

206 lines
4.5 KiB
Python

from django.contrib import admin
from ram.admin import publish, unpublish
from repository.models import (
GenericDocument,
InvoiceDocument,
# BaseBookDocument,
DecoderDocument,
RollingStockDocument
)
@admin.register(GenericDocument)
class GenericDocumentAdmin(admin.ModelAdmin):
readonly_fields = ("size", "creation_time", "updated_time")
list_display = (
"__str__",
"description",
"private",
"size",
"download",
)
search_fields = (
"description",
"file",
)
fieldsets = (
(
None,
{
"fields": (
"private",
"description",
"file",
"size",
"tags",
)
},
),
(
"Notes",
{"classes": ("collapse",), "fields": ("notes",)},
),
(
"Audit",
{
"classes": ("collapse",),
"fields": (
"creation_time",
"updated_time",
),
},
),
)
actions = [publish, unpublish]
@admin.register(InvoiceDocument)
class InvoiceDocumentAdmin(admin.ModelAdmin):
readonly_fields = ("size", "creation_time", "updated_time")
list_display = (
"__str__",
"description",
"size",
"download",
)
search_fields = (
"description",
"file",
)
autocomplete_fields = ("rolling_stock", "book", "catalog")
fieldsets = (
(
None,
{
"fields": (
"description",
"rolling_stock",
"book",
"catalog",
"file",
"size",
)
},
),
(
"Notes",
{"classes": ("collapse",), "fields": ("notes",)},
),
(
"Audit",
{
"classes": ("collapse",),
"fields": (
"creation_time",
"updated_time",
),
},
),
)
# @admin.register(BaseBookDocument)
# class BookDocumentAdmin(admin.ModelAdmin):
# readonly_fields = ("size",)
# list_display = (
# "__str__",
# # FIXME
# "book__book",
# "book__catalog",
# "description",
# "private",
# "size",
# "download",
# )
# search_fields = (
# "book__title",
# "description",
# "file",
# )
# fieldsets = (
# (
# None,
# {
# "fields": (
# "private",
# # FIXME
# "description",
# "file",
# "size",
# )
# },
# ),
# )
# actions = [publish, unpublish]
@admin.register(DecoderDocument)
class DecoderDocumentAdmin(admin.ModelAdmin):
readonly_fields = ("size",)
list_display = (
"__str__",
"decoder",
"description",
"private",
"size",
"download",
)
search_fields = (
"decoder__name",
"decoder__manufacturer__name",
"description",
"file",
)
autocomplete_fields = ("decoder",)
fieldsets = (
(
None,
{
"fields": (
"private",
"decoder",
"description",
"file",
"size",
)
},
),
)
actions = [publish, unpublish]
@admin.register(RollingStockDocument)
class RollingStockDocumentAdmin(admin.ModelAdmin):
readonly_fields = ("size",)
list_display = (
"__str__",
"rolling_stock",
"description",
"private",
"size",
"download",
)
search_fields = (
"rolling_stock__rolling_class__identifier",
"rolling_stock__item_number",
"description",
"file",
)
autocomplete_fields = ("rolling_stock",)
fieldsets = (
(
None,
{
"fields": (
"private",
"rolling_stock",
"description",
"file",
"size",
)
},
),
)
actions = [publish, unpublish]