From af3142ac3adb0d1f31d160edcb6d076b293020b1 Mon Sep 17 00:00:00 2001
From: Michael Manfre
Date: Thu, 15 Dec 2022 02:50:54 -0500
Subject: Basic Emoji suppport (#157)
---
activities/admin.py | 42 ++++++++++++++++++++++++++++++++++++++++++
1 file changed, 42 insertions(+)
(limited to 'activities/admin.py')
diff --git a/activities/admin.py b/activities/admin.py
index edc7365..6b0c8a9 100644
--- a/activities/admin.py
+++ b/activities/admin.py
@@ -1,8 +1,10 @@
from asgiref.sync import async_to_sync
from django.contrib import admin
+from django.utils.safestring import mark_safe
from django.utils.translation import gettext_lazy as _
from activities.models import (
+ Emoji,
FanOut,
Hashtag,
Post,
@@ -50,6 +52,46 @@ class HashtagAdmin(admin.ModelAdmin):
instance.transition_perform("outdated")
+@admin.register(Emoji)
+class EmojiAdmin(admin.ModelAdmin):
+ list_display = (
+ "shortcode",
+ "preview",
+ "local",
+ "domain",
+ "public",
+ "state",
+ "created",
+ )
+ list_filter = ("local", "public", "state")
+ search_fields = ("shortcode",)
+
+ readonly_fields = ("preview", "created", "updated")
+
+ actions = ["force_execution", "approve_emoji", "reject_emoji"]
+
+ @admin.action(description="Force Execution")
+ def force_execution(self, request, queryset):
+ for instance in queryset:
+ instance.transition_perform("outdated")
+
+ @admin.action(description="Approve Emoji")
+ def approve_emoji(self, request, queryset):
+ queryset.update(public=True)
+
+ @admin.action(description="Reject Emoji")
+ def reject_emoji(self, request, queryset):
+ queryset.update(public=False)
+
+ @admin.display(description="Emoji Preview")
+ def preview(self, instance):
+ if instance.public is False:
+ return mark_safe(f'Preview')
+ return mark_safe(
+ f''
+ )
+
+
@admin.register(PostAttachment)
class PostAttachmentAdmin(admin.ModelAdmin):
list_display = ["id", "post", "created"]
--
cgit v1.2.3