From 5c6bb3e759f8495df2e6c4a9ebc2bdf4d5501fd2 Mon Sep 17 00:00:00 2001 From: abarz722 Date: Mon, 3 Jun 2024 17:59:08 +0200 Subject: [PATCH] fix owner display + add requester comment to impl task --- .../files/sql/idempotent/fworch-texts.sql | 2 + .../Request/DisplayImplementationTask.razor | 2 +- .../ui/files/FWO.UI/Services/TicketCreator.cs | 57 ++++++++++++------- 3 files changed, 41 insertions(+), 20 deletions(-) diff --git a/roles/database/files/sql/idempotent/fworch-texts.sql b/roles/database/files/sql/idempotent/fworch-texts.sql index 712f1bf17..5932835ae 100644 --- a/roles/database/files/sql/idempotent/fworch-texts.sql +++ b/roles/database/files/sql/idempotent/fworch-texts.sql @@ -1385,6 +1385,8 @@ INSERT INTO txt VALUES ('created_by', 'German', 'Erstellt von'); INSERT INTO txt VALUES ('created_by', 'English', 'Created by'); INSERT INTO txt VALUES ('requested_by', 'German', 'Beantragt von'); INSERT INTO txt VALUES ('requested_by', 'English', 'Requested by'); +INSERT INTO txt VALUES ('for', 'German', 'für'); +INSERT INTO txt VALUES ('for', 'English', 'for'); INSERT INTO txt VALUES ('log_change', 'German', 'Änderung loggen'); INSERT INTO txt VALUES ('log_change', 'English', 'Log Change'); INSERT INTO txt VALUES ('show_history', 'German', 'Änderungshistorie'); diff --git a/roles/ui/files/FWO.UI/Pages/Request/DisplayImplementationTask.razor b/roles/ui/files/FWO.UI/Pages/Request/DisplayImplementationTask.razor index a90e6ad36..98c85b632 100644 --- a/roles/ui/files/FWO.UI/Pages/Request/DisplayImplementationTask.razor +++ b/roles/ui/files/FWO.UI/Pages/Request/DisplayImplementationTask.razor @@ -93,7 +93,7 @@ else { - + } diff --git a/roles/ui/files/FWO.UI/Services/TicketCreator.cs b/roles/ui/files/FWO.UI/Services/TicketCreator.cs index b5e457f44..e84d55575 100644 --- a/roles/ui/files/FWO.UI/Services/TicketCreator.cs +++ b/roles/ui/files/FWO.UI/Services/TicketCreator.cs @@ -49,7 +49,9 @@ public async Task CreateRequestNewInterfaceTicket(FwoOwner owner, string r await reqHandler.AddApproval(JsonSerializer.Serialize(new ApprovalParams(){StateId = reqHandler.MasterStateMatrix.LowestEndState})); reqHandler.ActTicket.Tasks.Add(reqHandler.ActReqTask); reqHandler.AddTicketMode = true; - return await reqHandler.SaveTicket(reqHandler.ActTicket); + long ticketId = await reqHandler.SaveTicket(reqHandler.ActTicket); + await AddRequesterInfoToImplTask(ticketId, owner); + return ticketId; } public async Task SetInterfaceId(long ticketId, long connId, FwoOwner owner) @@ -69,27 +71,17 @@ public async Task SetInterfaceId(long ticketId, long connId, FwoOwner owner) public async Task PromoteTicket(FwoOwner owner, long ticketId, string comment = "") { await reqHandler.Init([owner.Id]); - RequestTicket? ticket = await reqHandler.ResolveTicket(ticketId); - if(ticket != null) + RequestImplTask? implTask = await FindNewInterfaceImplTask(ticketId); + if(implTask != null) { - reqHandler.SetTicketEnv(ticket); - RequestReqTask? reqTask = ticket.Tasks.FirstOrDefault(x => x.TaskType == TaskType.new_interface.ToString()); - if(reqTask != null) + await reqHandler.ContinueImplPhase(implTask); + if(comment != "") { - reqHandler.SetReqTaskEnv(reqTask); - RequestImplTask? implTask = reqTask.ImplementationTasks.FirstOrDefault(x => x.ReqTaskId == reqTask.Id); - if(implTask != null) - { - await reqHandler.ContinueImplPhase(implTask); - if(comment != "") - { - await reqHandler.ConfAddCommentToImplTask(comment); - } - int newState = reqHandler.MasterStateMatrix.LowestEndState; - await reqHandler.PromoteImplTask(new(){ StateId = newState }); - return true; - } + await reqHandler.ConfAddCommentToImplTask(comment); } + int newState = reqHandler.MasterStateMatrix.LowestEndState; + await reqHandler.PromoteImplTask(new(){ StateId = newState }); + return true; } return false; } @@ -152,6 +144,33 @@ private async Task CreateRuleDeleteTicket(int deviceId, List ruleUids, s await reqHandler.SaveTicket(reqHandler.ActTicket); } + private async Task AddRequesterInfoToImplTask(long ticketId, FwoOwner owner) + { + RequestImplTask? implTask = await FindNewInterfaceImplTask(ticketId); + if(implTask != null) + { + reqHandler.SetImplTaskEnv(implTask); + string comment = $"{userConfig.GetText("requested_by")}: {userConfig.User.Name} {userConfig.GetText("for")} {owner.Display()}"; + await reqHandler.ConfAddCommentToImplTask(comment); + } + } + + private async Task FindNewInterfaceImplTask(long ticketId) + { + RequestTicket? ticket = await reqHandler.ResolveTicket(ticketId); + if(ticket != null) + { + reqHandler.SetTicketEnv(ticket); + RequestReqTask? reqTask = ticket.Tasks.FirstOrDefault(x => x.TaskType == TaskType.new_interface.ToString()); + if(reqTask != null) + { + reqHandler.SetReqTaskEnv(reqTask); + return reqTask.ImplementationTasks.FirstOrDefault(x => x.ReqTaskId == reqTask.Id); + } + } + return null; + } + private void LogMessage(Exception? exception = null, string title = "", string message = "", bool ErrorFlag = false) { if (exception == null)