From 397fcbca9aa18ee23fcc2a55e6e95e25ecc9e3b5 Mon Sep 17 00:00:00 2001 From: Chris Cummer Date: Tue, 15 May 2018 10:45:11 -0700 Subject: [PATCH] Add config option to hide empty OpsGenie schedules --- opsgenie/widget.go | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/opsgenie/widget.go b/opsgenie/widget.go index ad5dd122..ecfbee0a 100644 --- a/opsgenie/widget.go +++ b/opsgenie/widget.go @@ -53,21 +53,28 @@ func (widget *Widget) Refresh() { func (widget *Widget) contentFrom(onCallResponse *OnCallResponse) string { str := "" - for _, data := range onCallResponse.OnCallData { - str = str + fmt.Sprintf(" [green]%s[white]\n", widget.cleanScheduleName(data.Parent.Name)) + hideEmpty := Config.UBool("wtf.mods.opsgenie.hideEmpty", false) - if len(data.Recipients) == 0 { - str = str + " [gray]no one[white]\n" - } else { - str = str + fmt.Sprintf(" %s\n", strings.Join(wtf.NamesFromEmails(data.Recipients), ", ")) + for _, data := range onCallResponse.OnCallData { + if (len(data.Recipients) == 0) && (hideEmpty == true) { + continue } - str = str + "\n" + var msg string + if len(data.Recipients) == 0 { + msg = " [gray]no one[white]\n\n" + } else { + msg = fmt.Sprintf(" %s\n\n", strings.Join(wtf.NamesFromEmails(data.Recipients), ", ")) + } + + str = str + widget.cleanScheduleName(data.Parent.Name) + str = str + msg } return str } func (widget *Widget) cleanScheduleName(schedule string) string { - return strings.Replace(schedule, "_", " ", -1) + cleanedName := strings.Replace(schedule, "_", " ", -1) + return fmt.Sprintf(" [green]%s[white]\n", cleanedName) }