diff --git a/hc/accounts/admin.py b/hc/accounts/admin.py index 2e7d58a6..ed082a41 100644 --- a/hc/accounts/admin.py +++ b/hc/accounts/admin.py @@ -147,7 +147,7 @@ class ProfileAdmin(admin.ModelAdmin): @mark_safe def checks(self, obj): s = "%d of %d" % (obj.num_checks, obj.check_limit) - if obj.num_checks > 10: + if obj.num_checks > 1: s = "%s" % s return s diff --git a/hc/api/admin.py b/hc/api/admin.py index d7920a0e..56a55d3a 100644 --- a/hc/api/admin.py +++ b/hc/api/admin.py @@ -175,14 +175,7 @@ class ChannelsAdmin(admin.ModelAdmin): css = {"all": ("css/admin/channels.css",)} search_fields = ["value", "project__owner__email"] - list_display = ( - "id", - "kind_", - "name", - "project_", - "value", - "num_notifications", - ) + list_display = ("id", "transport", "name", "project_", "value", "ok") list_filter = ("kind",) raw_id_fields = ("project", "checks") @@ -195,20 +188,23 @@ class ChannelsAdmin(admin.ModelAdmin): def get_queryset(self, request): qs = super().get_queryset(request) - qs = qs.annotate(Count("notification", distinct=True)) qs = qs.annotate(project_code=F("project__code")) qs = qs.annotate(project_name=F("project__name")) qs = qs.annotate(email=F("project__owner__email")) return qs @mark_safe - def kind_(self, obj): - return f'   {obj.kind}' + def transport(self, obj): + note = "" + if obj.kind == "email" and not obj.email_verified: + note = " (not verified)" - def num_notifications(self, obj): - return obj.notification__count + return f'   {obj.kind}{note}' - num_notifications.short_description = "# Notifications" + def ok(self, obj): + return False if obj.last_error else True + + ok.boolean = True @admin.register(Notification)