Cleanup, handle "paused" state in email alerts and reports

This commit is contained in:
Pēteris Caune 2016-08-02 09:48:17 +03:00
parent 51cda31449
commit 4f3365e235
4 changed files with 14 additions and 2 deletions

View File

@ -92,7 +92,7 @@ class Check(models.Model):
return "down"
def in_grace_period(self):
if not self.last_ping:
if self.status in ("new", "paused"):
return False
up_ends = self.last_ping + self.timeout

View File

@ -27,3 +27,13 @@ class CheckModelTestCase(TestCase):
self.assertTrue(check.in_grace_period())
self.assertEqual(check.get_status(), "up")
def test_paused_check_is_not_in_grace_period(self):
check = Check()
check.status = "up"
check.last_ping = timezone.now() - timedelta(days=1, minutes=30)
self.assertTrue(check.in_grace_period())
check.status = "paused"
self.assertFalse(check.in_grace_period())

View File

@ -44,7 +44,7 @@ def my_checks(request):
if status == "down":
down_tags.add(tag)
elif check.in_grace_period() and status != "paused":
elif check.in_grace_period():
grace_tags.add(tag)
ctx = {

View File

@ -57,6 +57,8 @@
<td>
{% if check.get_status == "new" %}
<span class="badge new">NEW</span>
{% elif check.get_status == "paused" %}
<span class="badge new">PAUSED</span>
{% elif check.in_grace_period %}
<span class="badge grace">LATE</span>
{% elif check.get_status == "up" %}