from django.contrib import admin from django.utils.dateformat import format from django.utils.timezone import localtime from .models import SourceSiteModel, CreatorModel, DescriptionModel, TagModel, PostModel class SourceSiteAdmin(admin.ModelAdmin): list_display = ["slug", "name", "date_last_import", "date_created"] admin.site.register(SourceSiteModel, SourceSiteAdmin) class DescriptionAdmin(admin.ModelAdmin): list_display = ["hash", "description_at", "date_modified", "date_created"] def description_at(self, obj): if len(str(obj.content)) >= 80: return obj.content[:77] + "..." else: return obj.content description_at.short_description = "Description" admin.site.register(DescriptionModel, DescriptionAdmin) class TagAdmin(admin.ModelAdmin): list_display = ["slug", "name", "date_modified", "date_created"] admin.site.register(TagModel, TagAdmin) class CreatorAdmin(admin.ModelAdmin): list_display = [ "slug", "name", "source_site", "date_created", "date_last_import", ] admin.site.register(CreatorModel, CreatorAdmin) class PostAdmin(admin.ModelAdmin): list_display = [ "post_id", "source_site", "creator", "title", "description_at", "mature", "date_created_fromated", "date_imported_formated", "date_last_import_formated", ] @admin.display(description="Description") def description_at(self, obj): if len(str(obj.description.first().content)) >= 80: return obj.description.first().content[:77] + "..." else: return obj.description.first().content @admin.display(description="Date Created") def date_created_fromated(self, obj): return format(localtime(obj.date_created), "Y-m-d H:i:s") @admin.display(description="Date Imported") def date_imported_formated(self, obj): return format(localtime(obj.date_imported), "Y-m-d H:i:s") @admin.display(description="Last Import Date") def date_last_import_formated(self, obj): return format(localtime(obj.date_last_import), "Y-m-d H:i:s") admin.site.register(PostModel, PostAdmin)