4.1 KiB
Requirements Document
Introduction
This feature addresses three usability issues in the FP Submissions section of the Queue Panel. Approved submissions currently persist indefinitely in the list, rejected submissions cannot be dismissed, and the entire Submissions section cannot be collapsed. These enhancements improve the signal-to-noise ratio of the Queue Panel by giving users control over which submissions remain visible and allowing the section to be hidden when not needed.
Glossary
- Dashboard: The STEAM Security Dashboard application
- Queue_Panel: The slide-out panel in the Reporting Page that displays the user's Ivanti todo queue items, FP workflow submissions, and action buttons
- Submissions_Section: The "SUBMISSIONS" area within the Queue_Panel that lists the user's FP workflow submissions with their lifecycle statuses
- FP_Submission: A local database record in the
ivanti_fp_submissionstable tracking a False Positive workflow submission, including its lifecycle status - Lifecycle_Status: The current state of an FP submission: submitted, approved, rejected, rework, or resubmitted
- Dismissed_Submission: An FP_Submission that the user has explicitly removed from the Submissions_Section view without deleting the underlying database record
Requirements
Requirement 1: Auto-Clear Approved Submissions
User Story: As an editor or admin, I want approved FP submissions to be automatically removed from the Submissions list, so that finalized items do not clutter the Queue Panel indefinitely.
Acceptance Criteria
- WHEN the Dashboard fetches FP_Submissions for display in the Submissions_Section, THE Dashboard SHALL exclude submissions with Lifecycle_Status "approved" from the visible list
- WHEN an FP_Submission transitions to Lifecycle_Status "approved" while the Queue_Panel is open, THE Dashboard SHALL remove the submission from the Submissions_Section without requiring a page refresh
- THE Dashboard SHALL retain approved FP_Submission records in the database for audit and history purposes
- WHEN the user opens the FpEditModal from a Reporting Table workflow badge for an approved submission, THE Dashboard SHALL still display the submission data in read-only mode regardless of its visibility in the Submissions_Section
Requirement 2: Dismiss Rejected Submissions
User Story: As an editor or admin, I want to dismiss rejected FP submissions from the Submissions list, so that I can remove items I no longer intend to rework.
Acceptance Criteria
- WHEN an FP_Submission has Lifecycle_Status "rejected", THE Dashboard SHALL display a dismiss button (X icon) on the submission row in the Submissions_Section
- WHEN the user clicks the dismiss button on a rejected submission, THE Dashboard SHALL mark the FP_Submission as dismissed and remove it from the Submissions_Section
- THE Dashboard SHALL persist the dismissed state so that dismissed submissions remain hidden across page reloads and session changes
- THE Dashboard SHALL retain dismissed FP_Submission records in the database for audit and history purposes
- IF the user dismisses a rejected submission, THEN THE Dashboard SHALL log an audit entry with action "ivanti_fp_submission_dismissed" and the submission's workflow batch ID as entity ID
Requirement 3: Collapsible Submissions Section
User Story: As a user, I want to collapse the Submissions section in the Queue Panel, so that I can hide it when I only need to work with queue items.
Acceptance Criteria
- THE Dashboard SHALL display a collapse/expand toggle control on the Submissions_Section header row
- WHEN the user clicks the collapse toggle, THE Dashboard SHALL hide the list of FP_Submissions while keeping the section header visible with the submission count
- WHEN the user clicks the expand toggle, THE Dashboard SHALL reveal the full list of FP_Submissions
- THE Dashboard SHALL persist the collapsed/expanded state in browser local storage so that the preference survives page reloads
- THE Dashboard SHALL default the Submissions_Section to the expanded state when no stored preference exists