forked from GithubBackups/healthchecks
Nicer Django admin
This commit is contained in:
parent
32fb29c299
commit
749114d856
@ -1,3 +1,20 @@
|
|||||||
from django.contrib import admin
|
from django.contrib import admin
|
||||||
|
|
||||||
# Register your models here.
|
# Register your models here.
|
||||||
|
from django.contrib.auth.admin import UserAdmin
|
||||||
|
from django.contrib.auth.models import User
|
||||||
|
|
||||||
|
from hc.api.models import Check
|
||||||
|
|
||||||
|
|
||||||
|
class HcUserAdmin(UserAdmin):
|
||||||
|
list_display = ('id', 'username', 'email', 'date_joined', 'num_checks',
|
||||||
|
'is_staff')
|
||||||
|
|
||||||
|
ordering = ["-id"]
|
||||||
|
|
||||||
|
def num_checks(self, user):
|
||||||
|
return Check.objects.filter(user=user).count()
|
||||||
|
|
||||||
|
admin.site.unregister(User)
|
||||||
|
admin.site.register(User, HcUserAdmin)
|
||||||
|
@ -3,6 +3,21 @@ from django.contrib import admin
|
|||||||
from hc.api.models import Check, Ping
|
from hc.api.models import Check, Ping
|
||||||
|
|
||||||
|
|
||||||
|
class OwnershipListFilter(admin.SimpleListFilter):
|
||||||
|
title = "Ownership"
|
||||||
|
parameter_name = 'ownership'
|
||||||
|
|
||||||
|
def lookups(self, request, model_admin):
|
||||||
|
return (
|
||||||
|
('assigned', "Assigned"),
|
||||||
|
)
|
||||||
|
|
||||||
|
def queryset(self, request, queryset):
|
||||||
|
if self.value() == 'assigned':
|
||||||
|
return queryset.filter(user__isnull=False)
|
||||||
|
return queryset
|
||||||
|
|
||||||
|
|
||||||
@admin.register(Check)
|
@admin.register(Check)
|
||||||
class ChecksAdmin(admin.ModelAdmin):
|
class ChecksAdmin(admin.ModelAdmin):
|
||||||
|
|
||||||
@ -16,6 +31,8 @@ class ChecksAdmin(admin.ModelAdmin):
|
|||||||
list_select_related = ("user", )
|
list_select_related = ("user", )
|
||||||
actions = ["send_alert"]
|
actions = ["send_alert"]
|
||||||
|
|
||||||
|
list_filter = ("status", OwnershipListFilter)
|
||||||
|
|
||||||
def email(self, obj):
|
def email(self, obj):
|
||||||
return obj.user.email if obj.user else None
|
return obj.user.email if obj.user else None
|
||||||
|
|
||||||
@ -30,4 +47,12 @@ class ChecksAdmin(admin.ModelAdmin):
|
|||||||
|
|
||||||
@admin.register(Ping)
|
@admin.register(Ping)
|
||||||
class PingsAdmin(admin.ModelAdmin):
|
class PingsAdmin(admin.ModelAdmin):
|
||||||
list_display = ("id", "created", "owner", "method", "ua")
|
list_select_related = ("owner", )
|
||||||
|
list_display = ("id", "created", "check_name", "email", "scheme", "method",
|
||||||
|
"ua")
|
||||||
|
|
||||||
|
def check_name(self, obj):
|
||||||
|
return obj.owner.name if obj.owner.name else obj.owner.code
|
||||||
|
|
||||||
|
def email(self, obj):
|
||||||
|
return obj.owner.user.email if obj.owner.user else None
|
Loading…
x
Reference in New Issue
Block a user