From 5184ad2a355d3dcfd0b5f6e8b79e3468b859b44d Mon Sep 17 00:00:00 2001 From: t Date: Fri, 8 May 2026 09:53:34 -0400 Subject: [PATCH] patched status change bug --- ui/static/dashboard.js | 23 +++++++++++----------- ui/templates/components/dash_modals.gohtml | 14 ++++++++++++- 2 files changed, 24 insertions(+), 13 deletions(-) diff --git a/ui/static/dashboard.js b/ui/static/dashboard.js index 23033dc..fd6db34 100644 --- a/ui/static/dashboard.js +++ b/ui/static/dashboard.js @@ -1,4 +1,3 @@ - window.showUpsell = function(featureName) { const featureNameEl = document.getElementById('upsellFeatureName'); const modalEl = document.getElementById('upsellModal'); @@ -10,7 +9,6 @@ window.showUpsell = function(featureName) { } }; - window.renderMarkdown = function(text) { if (!text) return "No description provided."; let html = text.replace(/!\[.*?\]\((.*?)\)/g, '

'); @@ -18,13 +16,11 @@ window.renderMarkdown = function(text) { return html; }; - window.updateDrawerPreview = function() { const rawDesc = document.getElementById('drawerDescEdit').value; document.getElementById('drawerDescPreview').innerHTML = renderMarkdown(rawDesc); }; - window.openDrawer = function(id, title, asset, severity) { document.getElementById('drawerTicketID').value = id; document.getElementById('drawerTitle').innerText = title; @@ -34,9 +30,7 @@ window.openDrawer = function(id, title, asset, severity) { badge.innerText = severity; badge.className = `badge ${severity.toLowerCase()}`; - document.getElementById('drawerSeverity').value = severity; - document.getElementById('drawerComment').value = ""; - + // Read hidden inputs from the table row const rawDesc = document.getElementById('desc-' + id) ? document.getElementById('desc-' + id).value : ""; const rawRem = document.getElementById('rem-' + id) ? document.getElementById('rem-' + id).value : ""; const rawEv = document.getElementById('ev-' + id) ? document.getElementById('ev-' + id).value : ""; @@ -44,6 +38,10 @@ window.openDrawer = function(id, title, asset, severity) { const rawComment = document.getElementById('comment-' + id) ? document.getElementById('comment-' + id).value : ""; const assignee = document.getElementById('assignee-' + id) ? document.getElementById('assignee-' + id).value : ""; + // Set initial values in the drawer + document.getElementById('drawerSeverity').value = severity; + document.getElementById('drawerStatus').value = status; // Pre-select current status + document.getElementById('drawerComment').value = ""; document.getElementById('drawerDescEdit').value = rawDesc; document.getElementById('drawerRemEdit').value = rawRem; @@ -307,13 +305,14 @@ document.addEventListener("DOMContentLoaded", function() { const assigneeInput = document.getElementById("drawerAssignee"); const newAssignee = assigneeInput ? assigneeInput.value.trim() : ""; - const currentStatus = document.getElementById("status-" + id).value; - let newStatus = currentStatus; - if (newAssignee !== "" && newAssignee !== "Unassigned") { + // Explicitly grab the selected status from the new dropdown + let explicitStatus = document.getElementById("drawerStatus").value; + let newStatus = explicitStatus; + + // Helpful UX: If they typed an email but left the status as "Waiting", auto-assign it + if (newAssignee !== "" && newAssignee !== "Unassigned" && explicitStatus === "Waiting to be Triaged") { newStatus = "Assigned Out"; - } else if (currentStatus === "Returned to Security") { - newStatus = "Waiting to be Triaged"; } if (!comment.trim()) return alert("An audit trail comment is strictly required when modifying a finding."); diff --git a/ui/templates/components/dash_modals.gohtml b/ui/templates/components/dash_modals.gohtml index a36f254..9b29f3b 100644 --- a/ui/templates/components/dash_modals.gohtml +++ b/ui/templates/components/dash_modals.gohtml @@ -90,7 +90,7 @@ -
+
+ +
+ + +
+