updated Admin models

This commit is contained in:
2026-08-05 18:05:40 -05:00
parent ad67954b31
commit 7485103bb2
2 changed files with 100 additions and 4 deletions
+53 -3
View File
@@ -1,14 +1,19 @@
from django.contrib import admin
from .models import (
Comment,
FileIndex,
Project,
ProjectAsset,
ProjectContributor,
ProjectDraft,
Rating,
Tag,
TagCategory,
TagList,
TempUpload,
Version,
VersionFile,
)
@@ -16,29 +21,39 @@ from .models import (
class FileIndexAdmin(admin.ModelAdmin):
list_display = ('uuid', 'kind', 'owner', 'original_filename', 'size', 'created_at')
search_fields = ('uuid', 'original_filename', 'stored_path')
list_filter = ('kind',)
@admin.register(Project)
class ProjectAdmin(admin.ModelAdmin):
list_display = ('slug', 'title', 'category', 'owner', 'created_at', 'updated_at')
list_display = ('slug', 'title', 'category', 'owner', 'rating_score', 'rating_count', 'created_at', 'updated_at')
search_fields = ('slug', 'title', 'summary')
list_filter = ('category', 'created_at')
@admin.register(Version)
class VersionAdmin(admin.ModelAdmin):
list_display = ('project', 'version_name', 'downloads', 'created_at')
list_display = ('project', 'version_name', 'pack_format', 'downloads', 'created_at')
search_fields = ('project__title', 'version_name')
@admin.register(VersionFile)
class VersionFileAdmin(admin.ModelAdmin):
list_display = ('version', 'filename', 'kind', 'created_at')
list_filter = ('kind',)
search_fields = ('version__project__title', 'version__version_name', 'file__original_filename')
@admin.register(ProjectAsset)
class ProjectAssetAdmin(admin.ModelAdmin):
list_display = ('project', 'caption', 'uploaded_by', 'created_at')
search_fields = ('project__title', 'caption')
@admin.register(ProjectContributor)
class ProjectContributorAdmin(admin.ModelAdmin):
list_display = ('project', 'user', 'added_by', 'added_at')
search_fields = ('project__title', 'user__username')
@admin.register(TagCategory)
@@ -55,5 +70,40 @@ class TagAdmin(admin.ModelAdmin):
@admin.register(TagList)
class TagListAdmin(admin.ModelAdmin):
list_display = ('project', 'tag', 'added_by', 'added_at')
list_display = ('project', 'tag', 'auto', 'added_by', 'added_at')
list_filter = ('auto',)
search_fields = ('project__title', 'tag__name')
@admin.register(TempUpload)
class TempUploadAdmin(admin.ModelAdmin):
list_display = ('uuid', 'user', 'kind', 'status', 'draft_uuid', 'created_at')
list_filter = ('kind', 'status')
search_fields = ('user__username',)
@admin.register(ProjectDraft)
class ProjectDraftAdmin(admin.ModelAdmin):
list_display = ('uuid', 'user', 'draft_title', 'updated_at')
search_fields = ('user__username',)
@admin.display(description='Title')
def draft_title(self, obj):
return obj.data.get('title') or '(untitled)'
@admin.register(Rating)
class RatingAdmin(admin.ModelAdmin):
list_display = ('project', 'user', 'value', 'updated_at')
list_filter = ('value',)
search_fields = ('project__title', 'user__username')
@admin.register(Comment)
class CommentAdmin(admin.ModelAdmin):
list_display = ('project', 'user', 'body_preview', 'created_at')
search_fields = ('project__title', 'user__username', 'body')
@admin.display(description='Body')
def body_preview(self, obj):
return obj.body[:80]