bcgov / bcgov/foi-flow

Unassigned Request Queue

Open
#4,837 4 comments 0 reactions 0 assignees View on GitHub
Story
Dominant language
Python
Stars
8
Forks
2
Avg merge
14h 34m
Merged PRs (30d)
46

Description

* As a CFD Team Lead
* I want an unassigned request queue
* so that I can quickly find new requests that can be assigned.

**Assumptions & Scope**
What are the assumptions for this story?

The CFD supporting processing teams are finding it difficult to action and find requests on their requests queues because they have a lot of unassigned requests (CFD).

They want an unassigned queue so that they can filter by ECE or CFD generals to quickly find and assign requests; the most recent request (by received date will be at the top by default). All columns will be the same as they are on the My Teams request queue.

Unassigned = assigned to the team = not assigned to an individual.

This is the preference over enhanced notifications or Advanced Search.

This new queue will be in addition to the 3 existing queues.

What is IN scope?

What is NOT in scope?

**Acceptance Criteria**

**Scenario 1: Unassigned Request Queue**
* GIVEN I am a CFD analyst
* WHEN I am on the request queue
* THEN there will be 4 options: My Requests (default), My Team's Requests, Watching Requests, Unassigned Requests

**Scenario 2: Click on Unassigned Requests**
* GIVEN I am a CFD analyst
* WHEN I click on the 'Unassigned Requests' queue
* THEN the queue will open
* AND only requests assigned to a team will appear
* AND no requests assigned to a user will appear
* AND the rows will appear with a light blue hue, consistent with functionality for processing team
* AND the requests will be sorted by legislated due date, from newest to oldest.
* AND for each request unassigned, the analyst will see, from left to right: Request ID, applicant name, On Behalf, request type, applicant category, current state, assigned to, days left, number of extensions, number of pages
* AND there will be a hover over for request description

**Scenario 3: Search on queue**
* GIVEN a ministry coordinator or IAO analyst the unassigned queue (My requests, My Team's Requests, Watching Requests)
* AND search keywords have been entered in the search bar
* AND/OR column sorts (asc, desc) have been activated
* AND search results are listed
* WHEN the user clicks on the a request listed
* THEN the request view will open
* AND a 2 layer breadcrumb will show with Queue Search and the Request Number for the request the user is currently on

**Scenario 4: Click Queue Search breadcrumb**
* GIVEN the user is on a request found as part of an queue search
* WHEN the user clicks the Queue Search breadcrumb
* THEN the user will be returned to the unassigned queue search view
* AND their search results will be listed
* AND any column sort toggles that were previously active shall remain active
* AND the their search parameters will still be selected
* AND the pagination will be maintained

**Scenario 5: Assign a request**
* GIVEN a request is unassigned (only assigned to a team)
* WHEN the request is assigned to an individual user
* THEN the request will no longer appear on the Unassigned Requests queue

**Scenario 6: Unassign a request**
* GIVEN a request is assigned to a user
* WHEN the request is assigned to a team
* THEN the request will appear on the Unassigned Requests queue

**Scenario 7: User is removed from keycloak**
* GIVEN a request is assigned to a user
* WHEN the user is removed from the processing team
* THEN the request will appear on the Unassigned Requests queue
* AND the request will be assigned to the Team

**Scenario 8: No Unassigned requests on My Team's Requests**
* GIVEN I am a CFD analyst
* WHEN I am on the My Team's Requests
* THEN there will be no unassigned requests (i.e., assigned to the Team not an individual user)

**Dependencies? What is the impact of this dependency? (If so, link dependency in the ticket, make it visible in a team´s backlog)**

**Validation Rules? (If yes, list here)**

**Design**
https://jacklyn808742.invisionapp.com/console/share/3W2O64AP5C/846624085

**Definition of Ready**

1. [ ] Is there a well articulated User Story?
2. [ ] Is there Acceptance Criteria that covers all scenarios (happy/sad paths)?
3. [ ] If there is a user interface, is there a design?
4. [ ] Does the user story need user research/validation?
5. [ ] Does this User Story needs stakeholder approval?
6. [ ] Design / Solution accepted by Product Owner
7. [ ] Is this user story small enough to be completed in a Sprint? Should it be split?
8. [ ] Are the dependencies known/ understood? (technical, business, regulatory/policy)
9. [ ] Has the story been estimated?

**Definition of Done**

1. [ ] Passes developer unit tests
2. [ ] Passes peer code review
3. [ ] If there's a user interface, passes UX assurance
4. [ ] Passes QA of Acceptance Criteria with verification in Dev and Test
5. [ ] Confirm Test cases built and succeeding
6. [ ] No regression test failures
7. [ ] Test coverage acceptable by Product Owner
8. [ ] Ticket ready to be merged to master or story branch
9. [ ] Developer to list Config changes/ Update documents and designs
10. [ ] Can be demoed in Sprint Review
11. [ ] Tagged as part of a Release
12. [ ] Feature flagged if required
13. [ ] Change Management activities done?

Contributor guide

Open the contributing guide

Research direction

Start with the acceptance criteria for the four request queues, assignment transitions, search state, sorting, pagination, and breadcrumb behavior, then review the linked InVision design. Identify the existing My Requests, My Team's Requests, and Watching Requests queue entry points and their related tests; done means the new Unassigned Requests behavior and all listed assignment scenarios are covered without regressions.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
full-stack
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.