From c4bfcd1ff703eefed820a5ebeff5ad9ecd44b046 Mon Sep 17 00:00:00 2001 From: Simon Ser Date: Tue, 12 Jul 2022 08:31:25 +0000 Subject: [PATCH] Add CLOSED ticket resolution This is a neutral resolution picked by default when the user doesn't need/want to select a more precise resolution. --- api/graph/model/status.go | 9 ++++++++- api/graph/schema.graphqls | 1 + api/webhooks/legacy.go | 2 ++ todosrht/templates/ticket.html | 5 ++++- todosrht/types/ticketstatus.py | 1 + 5 files changed, 16 insertions(+), 2 deletions(-) diff --git a/api/graph/model/status.go b/api/graph/model/status.go index 40d6e84..9fd2aba 100644 --- a/api/graph/model/status.go +++ b/api/graph/model/status.go @@ -101,6 +101,7 @@ type TicketResolution string const ( TicketResolutionUnresolved TicketResolution = "UNRESOLVED" + TicketResolutionClosed TicketResolution = "CLOSED" TicketResolutionFixed TicketResolution = "FIXED" TicketResolutionImplemented TicketResolution = "IMPLEMENTED" TicketResolutionWontFix TicketResolution = "WONT_FIX" @@ -112,6 +113,7 @@ const ( var AllTicketResolution = []TicketResolution{ TicketResolutionUnresolved, + TicketResolutionClosed, TicketResolutionFixed, TicketResolutionImplemented, TicketResolutionWontFix, @@ -123,7 +125,7 @@ var AllTicketResolution = []TicketResolution{ func (e TicketResolution) IsValid() bool { switch e { - case TicketResolutionUnresolved, TicketResolutionFixed, TicketResolutionImplemented, TicketResolutionWontFix, TicketResolutionByDesign, TicketResolutionInvalid, TicketResolutionDuplicate, TicketResolutionNotOurBug: + case TicketResolutionUnresolved, TicketResolutionClosed, TicketResolutionFixed, TicketResolutionImplemented, TicketResolutionWontFix, TicketResolutionByDesign, TicketResolutionInvalid, TicketResolutionDuplicate, TicketResolutionNotOurBug: return true } return false @@ -159,6 +161,7 @@ const ( RESOLVED_INVALID = 16 RESOLVED_DUPLICATE = 32 RESOLVED_NOT_OUR_BUG = 64 + RESOLVED_CLOSED = 128 ) // Creates a TicketResolution from its database representation @@ -180,6 +183,8 @@ func TicketResolutionFromInt(resolution int) TicketResolution { return TicketResolutionDuplicate case RESOLVED_NOT_OUR_BUG: return TicketResolutionNotOurBug + case RESOLVED_CLOSED: + return TicketResolutionClosed default: panic("database invariant broken") } @@ -204,6 +209,8 @@ func (e TicketResolution) ToInt() int { return RESOLVED_DUPLICATE case TicketResolutionNotOurBug: return RESOLVED_NOT_OUR_BUG + case TicketResolutionClosed: + return RESOLVED_CLOSED default: panic("Invalid TicketResolution") } diff --git a/api/graph/schema.graphqls b/api/graph/schema.graphqls index 9faa271..23cf833 100644 --- a/api/graph/schema.graphqls +++ b/api/graph/schema.graphqls @@ -299,6 +299,7 @@ enum TicketStatus { enum TicketResolution { UNRESOLVED + CLOSED FIXED IMPLEMENTED WONT_FIX diff --git a/api/webhooks/legacy.go b/api/webhooks/legacy.go index 0debef1..faf0324 100644 --- a/api/webhooks/legacy.go +++ b/api/webhooks/legacy.go @@ -389,6 +389,8 @@ func mkResolution(res *int) *string { switch *res { case model.RESOLVED_UNRESOLVED: r = "unresolved" + case model.RESOLVED_CLOSED: + r = "closed" case model.RESOLVED_FIXED: r = "fixed" case model.RESOLVED_IMPLEMENTED: diff --git a/todosrht/templates/ticket.html b/todosrht/templates/ticket.html index 726797d..418d416 100644 --- a/todosrht/templates/ticket.html +++ b/todosrht/templates/ticket.html @@ -440,7 +440,10 @@ diff --git a/todosrht/types/ticketstatus.py b/todosrht/types/ticketstatus.py index 3796ef0..b81e665 100644 --- a/todosrht/types/ticketstatus.py +++ b/todosrht/types/ticketstatus.py @@ -16,6 +16,7 @@ class TicketResolution(IntFlag): invalid = 16 duplicate = 32 not_our_bug = 64 + closed = 128 class TicketAuthenticity(Enum): authentic = 0