From 7f5943c16048c703aa564cebb176a8c272be27b2 Mon Sep 17 00:00:00 2001 From: Matthew Somerville Date: Sun, 14 Jan 2018 18:08:54 +0000 Subject: [PATCH] Only show one system status with >1 incidents. This stops the duplication of/incorrect system statuses when there are multiople active incidents. It works out the maximum level to display. --- site/data/severity.toml | 14 ++++++++++++++ site/layouts/partials/systems.html | 14 +++++++++----- 2 files changed, 23 insertions(+), 5 deletions(-) diff --git a/site/data/severity.toml b/site/data/severity.toml index 8b69bbc..8f56240 100644 --- a/site/data/severity.toml +++ b/site/data/severity.toml @@ -11,3 +11,17 @@ degraded-performance = "warning" partial-outage = "warning" major-outage = "danger" + +[levels] + 0 = "ok" + 1 = "under-maintenance" + 2 = "degraded-performance" + 3 = "partial-outage" + 4 = "major-outage" + +[levels_reverse] + ok = 0 + under-maintenance = 1 + degraded-performance = 2 + partial-outage = 3 + major-outage = 4 diff --git a/site/layouts/partials/systems.html b/site/layouts/partials/systems.html index d4e0c17..e35d41d 100644 --- a/site/layouts/partials/systems.html +++ b/site/layouts/partials/systems.html @@ -9,15 +9,19 @@
{{- $name -}} {{ if $.incidents }} + {{ $.content.Scratch.Set "max" 0 }} {{ range $.incidents }} {{ if in .Params.affectedsystems $name }} - {{ $alert := index .Site.Data.severity.alerts .Params.severity }} - {{ $desc := index .Site.Data.severity.descriptions .Params.severity }} - {{ partial "status-badge" (dict "alert" $alert "description" $desc) }} - {{ else }} - {{ partial "status-badge" (dict "alert" $okAlert "description" $okDesc) }} + {{ $level := index .Site.Data.severity.levels_reverse .Params.severity }} + {{ if gt $level ($.content.Scratch.Get "max") }} + {{ $.content.Scratch.Set "max" $level }} + {{ end }} {{ end }} {{ end }} + {{ $severity := index $.content.Site.Data.severity.levels (string ($.content.Scratch.Get "max")) }} + {{ $alert := index $.content.Site.Data.severity.alerts $severity }} + {{ $desc := index $.content.Site.Data.severity.descriptions $severity }} + {{ partial "status-badge" (dict "alert" $alert "description" $desc) }} {{ else }} {{ partial "status-badge" (dict "alert" $okAlert "description" $okDesc) }} {{ end }}