Gallery-Archivist/archivist/apps/files/admin.py

62 lines
2.3 KiB
Python
Raw Normal View History

2023-12-28 16:40:30 +00:00
from django.contrib import admin
from django import forms
from django.urls import reverse
from django.utils.html import format_html
2023-12-28 16:40:30 +00:00
from .models import Metadata_Files, Submission_File, User_Profile_Images, User_Banner_Images
2023-12-28 16:40:30 +00:00
# Register your models here.
class Submission_FileAdmin(admin.ModelAdmin):
list_display = ('id', 'file_link', 'date_added', 'file_hash', 'file',)
def file_link(self, obj):
url = reverse("admin:files_submission_file_change", args=[obj.id])
return format_html('<a href="{}">{}</a>', url, obj.file_name)
file_link.short_description = 'File Name'
2023-12-28 16:40:30 +00:00
class User_Banner_ImagesAdmin(admin.ModelAdmin):
list_display = ('id', 'file_link', 'date_added', 'file_hash', 'file',)
def file_link(self, obj):
url = reverse("admin:files_user_banner_images_change", args=[obj.id])
return format_html('<a href="{}">{}</a>', url, obj.file_name)
file_link.short_description = 'File Name'
class User_Profile_ImagesAdmin(admin.ModelAdmin):
list_display = ('id', 'file_link', 'date_added', 'file_hash', 'file',)
def get_form(self, request, obj=None, **kwargs):
form = super().get_form(request, obj, **kwargs)
form.base_fields['file_hash'].widget = forms.TextInput(attrs={'readonly': True})
return form
def file_link(self, obj):
url = reverse("admin:files_user_profile_images_change", args=[obj.id])
return format_html('<a href="{}">{}</a>', url, obj.file_name)
file_link.short_description = 'File Name'
class Metadata_FilesAdmin(admin.ModelAdmin):
list_display = ('id', 'file_link', 'date_added', 'file_hash', 'file',)
def get_form(self, request, obj=None, **kwargs):
form = super().get_form(request, obj, **kwargs)
form.base_fields['file_hash'].widget = forms.TextInput(attrs={'readonly': True})
return form
def file_link(self, obj):
url = reverse("admin:files_metadata_files_change", args=[obj.id])
return format_html('<a href="{}">{}</a>', url, obj.file_name)
file_link.short_description = 'File Name'
admin.site.register(Metadata_Files, Metadata_FilesAdmin)
admin.site.register(Submission_File, Submission_FileAdmin)
admin.site.register(User_Banner_Images, User_Banner_ImagesAdmin)
admin.site.register(User_Profile_Images, User_Profile_ImagesAdmin)