diff options
| author | 2020-09-18 13:01:49 +1000 | |
|---|---|---|
| committer | 2020-09-18 13:01:49 +1000 | |
| commit | 8ed8b9ad62fd83e93d8dd5a136b7433f7240c4c2 (patch) | |
| tree | 5d1dd307d43caeca596d551612fad038a4cf8bda | |
| parent | Update Role ModelAdmin to past changes, cleanup formatting. (diff) | |
Add OffensiveMessage Admin model.
| -rw-r--r-- | pydis_site/apps/api/admin.py | 25 | ||||
| -rw-r--r-- | pydis_site/apps/api/models/bot/offensive_message.py | 9 | 
2 files changed, 30 insertions, 4 deletions
| diff --git a/pydis_site/apps/api/admin.py b/pydis_site/apps/api/admin.py index d32b4911..59cab78d 100644 --- a/pydis_site/apps/api/admin.py +++ b/pydis_site/apps/api/admin.py @@ -218,6 +218,30 @@ class OffTopicChannelNameAdmin(admin.ModelAdmin):      search_fields = ("name",) [email protected](OffensiveMessage) +class OffensiveMessageAdmin(admin.ModelAdmin): +    """Admin formatting for the OffensiveMessage model.""" + +    def message_jumplink(self, message: OffensiveMessage) -> SafeString: +        """Message ID hyperlinked to the direct discord jumplink.""" +        return format_html( +            '<a href="https://canary.discordapp.com/channels/267624335836053506/{0}/{1}">{1}</a>', +            message.channel_id, +            message.id +        ) + +    message_jumplink.short_description = "Message ID" + +    search_fields = ("id", "channel_id") +    list_display = ("id", "channel_id", "delete_date") +    fields = ("message_jumplink", "channel_id", "delete_date") +    readonly_fields = ("message_jumplink", "channel_id") + +    def has_add_permission(self, *args) -> bool: +        """Prevent adding from django admin.""" +        return False + +  @admin.register(Role)  class RoleAdmin(admin.ModelAdmin):      """Admin formatting for the Role model.""" @@ -326,4 +350,3 @@ class UserAdmin(admin.ModelAdmin):  admin.site.register(BotSetting)  admin.site.register(DocumentationLink) -admin.site.register(OffensiveMessage) diff --git a/pydis_site/apps/api/models/bot/offensive_message.py b/pydis_site/apps/api/models/bot/offensive_message.py index 6c0e5ffb..74dab59b 100644 --- a/pydis_site/apps/api/models/bot/offensive_message.py +++ b/pydis_site/apps/api/models/bot/offensive_message.py @@ -24,7 +24,8 @@ class OffensiveMessage(ModelReprMixin, models.Model):                  limit_value=0,                  message="Message IDs cannot be negative."              ), -        ) +        ), +        verbose_name="Message ID"      )      channel_id = models.BigIntegerField(          help_text=( @@ -36,11 +37,13 @@ class OffensiveMessage(ModelReprMixin, models.Model):                  limit_value=0,                  message="Channel IDs cannot be negative."              ), -        ) +        ), +        verbose_name="Channel ID"      )      delete_date = models.DateTimeField(          help_text="The date on which the message will be auto-deleted.", -        validators=(future_date_validator,) +        validators=(future_date_validator,), +        verbose_name="To Be Deleted"      )      def __str__(self): | 
