Don't update Ping.start and Ping.fail fields (use Ping.kind instead)

This commit is contained in:
Pēteris Caune 2019-01-04 12:57:29 +02:00
parent 99d46a0ca8
commit 20df5843e3
No known key found for this signature in database
GPG Key ID: E28D7679E9A9EDE2
3 changed files with 17 additions and 10 deletions

View File

@ -83,6 +83,20 @@ class MethodListFilter(admin.SimpleListFilter):
return queryset
class KindListFilter(admin.SimpleListFilter):
title = "Kind"
parameter_name = 'kind'
kinds = ["start", "fail"]
def lookups(self, request, model_admin):
return zip(self.kinds, self.kinds)
def queryset(self, request, queryset):
if self.value():
queryset = queryset.filter(kind=self.value())
return queryset
# Adapted from: https://djangosnippets.org/snippets/2593/
class LargeTablePaginator(Paginator):
""" Overrides the count method to get an estimate instead of actual count
@ -129,7 +143,7 @@ class PingsAdmin(admin.ModelAdmin):
list_display = ("id", "created", "owner", "email", "scheme", "method",
"ua")
list_filter = ("created", SchemeListFilter, MethodListFilter,
"start", "fail")
KindListFilter)
paginator = LargeTablePaginator

View File

@ -230,13 +230,8 @@ class Check(models.Model):
ping = Ping(owner=self)
ping.n = self.n_pings
if action == "start":
ping.start = True
ping.kind = "start"
elif action == "fail":
ping.fail = True
ping.kind = "fail"
if action in ("start", "fail"):
ping.kind = action
ping.remote_addr = remote_addr
ping.scheme = scheme

View File

@ -139,7 +139,6 @@ class PingTestCase(BaseTestCase):
self.assertEqual(self.check.alert_after, None)
ping = Ping.objects.get()
self.assertTrue(ping.fail)
self.assertEqual(ping.kind, "fail")
flip = Flip.objects.get()
@ -159,7 +158,6 @@ class PingTestCase(BaseTestCase):
self.assertEqual(self.check.last_ping, last_ping)
ping = Ping.objects.get()
self.assertTrue(ping.start)
self.assertEqual(ping.kind, "start")
def test_start_does_not_change_status_of_paused_check(self):