diff --git a/ram/roster/admin.py b/ram/roster/admin.py index 970e593..2dde810 100644 --- a/ram/roster/admin.py +++ b/ram/roster/admin.py @@ -46,6 +46,22 @@ class RollingStockPropertyInline(admin.TabularInline): extra = 0 +@admin.register(RollingStockDocument) +class RollingStockDocumentAdmin(admin.ModelAdmin): + list_display = ( + "__str__", + "rolling_stock", + "description", + "download", + ) + search_fields = ( + "rolling_stock__rolling_class__identifier", + "rolling_stock__sku", + "description", + "file", + ) + + @admin.register(RollingStock) class RollingStockAdmin(admin.ModelAdmin): inlines = ( diff --git a/ram/roster/models.py b/ram/roster/models.py index 52b4e8a..2c7e589 100644 --- a/ram/roster/models.py +++ b/ram/roster/models.py @@ -4,6 +4,7 @@ from uuid import uuid4 from django.db import models from django.urls import reverse from django.dispatch import receiver +from django.utils.safestring import mark_safe # from django.core.files.storage import FileSystemStorage @@ -141,7 +142,12 @@ class RollingStockDocument(models.Model): return "{0}".format(os.path.basename(self.file.name)) def filename(self): - return os.path.basename(self.file.name) + return self.__str__ + + def download(self): + return mark_safe( + "Link".format(self.file.url) + ) class RollingStockImage(models.Model):