Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Queue: Bulk Assignment Functionality All Organizations #14124

Closed
5 of 6 tasks
araposo-tistatech opened this issue Apr 28, 2020 · 15 comments · Fixed by #14501
Closed
5 of 6 tasks

Queue: Bulk Assignment Functionality All Organizations #14124

araposo-tistatech opened this issue Apr 28, 2020 · 15 comments · Fixed by #14501
Labels
Priority: Medium Blocking issue w/workaround, or "second in" priority for new work. Product: caseflow-queue Team: Echo 🐬 Type: Enhancement Enhancement to an existing feature

Comments

@araposo-tistatech
Copy link

araposo-tistatech commented Apr 28, 2020

User Story

As an admin user of an organization, I should have the ability to bulk assign tasks to myself or other users part of my organization, so that I can quickly and efficiently assign tasks. I should also see a task reassignment confirmation modal as well.

Acceptance Criteria

  • Enable initially for just: orgs from ann-marie here
  • Roll out to all orgs after testing
  • Only admin users of organizations are can see bulk assign button
  • Only admin users are able to bulk assign tasks to themselves or another team member
  • Confirmation Banner displays on the Team cases page once the task assignment action is complete
  • If task assignment action cannot be completed an alert message or banner displays stating the tasks could not be assigned with reason

Background/context

Currently users apart of the hearings branch are able to assign multiple tasks to themselves as well as other members apart of the hearings branch organization. They have the ability to assign tasks by task type or by Regional Office (optional). The number of tasks can be assigned by increments of 5 if more then 5 tasks are available for the given task type and/or RO.

Multiple organizations at the Board have requested bulk assignment functionality.

Goals

Provide allllll organizations (other than judge teams) the ability to bulk assign tasks to themselves as well as other members of their organization.

Success criteria

The time it takes to assign a task is decreased by a certain percentage for each organization.

Stakeholders

All, per the Board this functionality should be available to all teams/organizations.

Requirements/stories

Open questions

Which organizations should have access to bulk assign tasks? All
Does the current hearings branch bulk assignment UI need to be updated? Would it depend on the organization? No, per the Board the UI design looks good and makes sense for the organizations.

References/Resources

Original hearings branch issue here

Designs and workflows

Designs for new organizations should match the current Hearings designs for consistency:

Hearings Bulk
Hearings Bulk Assign Modal

Business value

Dependencies

@araposo-tistatech araposo-tistatech added Type: Enhancement Enhancement to an existing feature Product: caseflow-queue Epic Team: Echo 🐬 Priority: Medium Blocking issue w/workaround, or "second in" priority for new work. labels Apr 28, 2020
@ajspotts
Copy link
Contributor

what is this chart?

1 | ||||||
2 | ||||||
3 | 
5 | 
8 | 

Include screenshots.

Why 1?

  • Assuming no design changes, very few changes, pulling out can_bulk_assign?

Why 2?

  • Tests!

@hschallhorn
Copy link
Contributor

Let's make sure we have good training materials to provide to all admins for this feature. @wturne Do you have materials for bulk assigning tasks?

@wturne
Copy link

wturne commented May 19, 2020 via email

@hschallhorn
Copy link
Contributor

hschallhorn commented May 20, 2020

Once this will be implemented, it will be available to all orgs that can be assigned tasks.

ids = Task.visible_in_queue_table_view.open.where(assigned_to_type: Organization.name).distinct.pluck(:assigned_to_id)
puts Organization.find(ids).map(&:name).sort

AOD
American Legion
American Red Cross
American Veterans
Armed Forces Services Corporation
Blinded Veterans Association
Board Dispatch
Board of Veterans' Appeals
Case Review
Disabled American Veterans
Education
Fiduciary
Fleet Reserve Association
Hearing Admin
Hearings Management
Insurance
Litigation Support
Loan Guaranty
Mail
Marine Corps League
Maryland Department of Veterans Affairs
Military Order of the Purple Heart
National Cemetery Administration
Paralyzed Veterans of America
Privacy Team
Quality Review
Transcription
Translation
VLJ Support Staff
Veterans Health Administration
Veterans of Foreign Wars
Vietnam Veterans of America
Virginia Department of Veterans Services
Vocational Rehabilitation and Employment
Wounded Warrior Project

@araposo-tistatech
Copy link
Author

@wturne please see above the organizations this functionality will be available for.

@wturne
Copy link

wturne commented Jun 11, 2020

@araposo-tistatech Will this functionality work the same way for all organizations? If so, I'm thinking we may be able to create one QRG that specifically covers this functionality.

cc: @Theresa1976

@araposo-tistatech
Copy link
Author

@wturne confirming this will work the same for all organizations. I agree one QRG specifically covering this functionality should cover this.

@araposo-tistatech
Copy link
Author

araposo-tistatech commented Jun 11, 2020

@hschallhorn below are our pilot users:

Got our users:

I'm hoping to get emails out today to get some availability to begin piloting next week.

va-bot pushed a commit that referenced this issue Jun 11, 2020
Bumps #14124

### Description
Only allows admins of an org to bulk assign tasks

### Acceptance Criteria
- [x] Only admin users of organizations are can see bulk assign button
- [x] Only admin users are able to bulk assign tasks to themselves or another team member

### Testing Plan
1. Sign in as BVATWARNER and go to /organizations/hearings-management
1. Confirm no bulk assign button
1. Make BVATWARNER an admin
   ```ruby
   OrganizationsUser.make_user_admin(User.find_by(css_id: "BVATWARNER"), HearingsManagement.singleton)
   ```
1. Ensure can complete bulk assign

### User Facing Changes
 - [x] Only admins can see the bulk assign button

 ADMIN|NON ADMIN
 ---|---
![Screen Shot 2020-06-10 at 5 56 47 PM](https://user-images.githubusercontent.com/45575454/84322890-ca18c180-ab43-11ea-96ad-026a7f141d07.png)|![Screen Shot 2020-06-10 at 5 56 34 PM](https://user-images.githubusercontent.com/45575454/84322891-ca18c180-ab43-11ea-956b-d29308c1d8ff.png)
@araposo-tistatech
Copy link
Author

@hschallhorn I checked off the users that are ready for tomorrow at 10am EST above.

@hschallhorn
Copy link
Contributor

Roy Spicer is not an admin for Disabled American Veterans and will not be able to see the bulk assign button. THOMAS WENDEL ([email protected]) is the only admin for this VSO.

Similarly, Jeff Wishneski is not an admin for Veterans of Foreign Wars and will not be able to see the bulk assign button. There are no admins for this VSO.

We would either need to make these users admins of their organization or find someone else to demo this with

va-bot pushed a commit that referenced this issue Jun 16, 2020
Bumps #14124

### Description
Bulk assign is enabled for the orgs listed here

### Acceptance Criteria
- [ ] Bulk assignment can be accessed buy the following orgs:
  - [ ] Mail Team
   - [ ] Privacy Team
   - [ ] Transcription Team
   - [ ] American Legion
   - [ ] Disabled American Veterans
   - [ ] Veterans of Foreign Wars

### Testing Plan
#### Mail team (the only team in dev that has unassigned tasks)
1. Make Jolly Postman an admin
   ```ruby
   OrganizationsUser.make_user_admin(User.find_by(css_id: "JOLLY_POSTMAN"), MailTeam.singleton)
   ```
1. Log in as jolly postman and go to the mail team queue
1. Confirm they have the bulk "Assign tasks" button
1. Click "Assign tasks"
1. Assign some tasks to a user
1. Confirm tasks were assigned to the user.
#### VSO
1. Sign in as team admin
1. Got to the Caseflow team management page from your dropdown
1. Create Disabled American Veterans vso with the participant id 2452415
<img width="510" alt="Screen Shot 2020-06-12 at 11 29 05 AM" src="https://user-images.githubusercontent.com/45575454/84519363-fb0e0900-ac9f-11ea-9175-9f36913a2d6f.png">
1. Add Billie VSO to the DAV and make them an admin
<img width="869" alt="Screen Shot 2020-06-12 at 11 23 31 AM" src="https://user-images.githubusercontent.com/45575454/84518762-2d6b3680-ac9f-11ea-8aa5-c59c3fab0c9a.png">
1. Log in as that user and navigate to the dva org page
1. Ensure they have the bulk assign button
<img width="733" alt="Screen Shot 2020-06-12 at 11 30 31 AM" src="https://user-images.githubusercontent.com/45575454/84519510-33ade280-aca0-11ea-8a68-34e148c53c40.png">

### User Facing Changes

 BEFORE|AFTER BUTTON|AFTER MODAL
 ---|---|---
![Screen Shot 2020-06-10 at 11 29 33 AM](https://user-images.githubusercontent.com/45575454/84287260-adfa2d80-ab0d-11ea-9639-b5556a833a2b.png)|![Screen Shot 2020-06-10 at 4 17 11 PM](https://user-images.githubusercontent.com/45575454/84314348-e4e43980-ab35-11ea-9f97-87f5a50ed117.png)|![Screen Shot 2020-06-10 at 4 17 19 PM](https://user-images.githubusercontent.com/45575454/84314355-e877c080-ab35-11ea-8318-1e9bd4aa4d4a.png)



AFTER VALIDATION|AFTER ASSIGNEE|AFTER REGIONAL OFFICE|AFTER TASK TYPES|AFTER TASK COUNT
---|---|---|---|---
![Screen Shot 2020-06-10 at 11 47 00 AM](https://user-images.githubusercontent.com/45575454/84289178-2cf06580-ab10-11ea-99c5-80fd751d8d77.png)|![Screen Shot 2020-06-10 at 11 47 08 AM](https://user-images.githubusercontent.com/45575454/84289188-2eba2900-ab10-11ea-9cfa-901345b7d43d.png)|![Screen Shot 2020-06-10 at 11 47 13 AM](https://user-images.githubusercontent.com/45575454/84289193-2feb5600-ab10-11ea-972e-c0560bd87124.png)|![Screen Shot 2020-06-10 at 11 47 17 AM](https://user-images.githubusercontent.com/45575454/84289198-31b51980-ab10-11ea-990e-9246336d4b18.png)|![Screen Shot 2020-06-10 at 11 47 22 AM](https://user-images.githubusercontent.com/45575454/84289202-32e64680-ab10-11ea-9401-8c2405728177.png)
@araposo-tistatech
Copy link
Author

@hschallhorn Looks like this was flagged with John as I see he has noted via email that Roy Spicer was added as an admin.

Also, is there anyway (other than impersonating a user in production as that is something PMs cannot do) that I can determine if a user is an admin myself? That way I can catch this immediately in the future.

@araposo-tistatech
Copy link
Author

@hschallhorn looks like the list of organizations that will have access to this functionality was too extensive:

AOD
American Legion
American Red Cross
American Veterans
Armed Forces Services Corporation
Blinded Veterans Association
Board Dispatch
Board of Veterans' Appeals
Case Review
Disabled American Veterans
Education
Fiduciary
Fleet Reserve Association
Hearing Admin
Hearings Management
Insurance
Litigation Support
Loan Guaranty
Mail
Marine Corps League
Maryland Department of Veterans Affairs
Military Order of the Purple Heart
National Cemetery Administration
Paralyzed Veterans of America
Privacy Team
Quality Review
Transcription
Translation
VLJ Support Staff
Veterans Health Administration
Veterans of Foreign Wars
Vietnam Veterans of America
Virginia Department of Veterans Services
Vocational Rehabilitation and Employment
Wounded Warrior Project

During the training call we had users reporting they do not see an "Unassigned" tab and will and I noticed that NCA does not actually use Caseflow queue, but rather Intake.

Can we get a more refined list of organizations that will actually see this functionality in their queue?

@hschallhorn
Copy link
Contributor

let's find some admins!

ids = Task.visible_in_queue_table_view.open.where(assigned_to_type: Organization.name).distinct.pluck(:assigned_to_id)
orgs =  Organization.where(id: ids).order(:name)
pp orgs.map { |org| [org.name, org.admins.map { |admin| [admin.full_name, admin.email] }.to_h] }.to_h

@hschallhorn
Copy link
Contributor

Can we get a more refined list of organizations that will actually see this functionality in their queue?

Looks like this list includes business lines, which do not use the standard queue

ids = Task.visible_in_queue_table_view.open.where(assigned_to_type: Organization.name).distinct.pluck(:assigned_to_id)
orgs =  Organization.where(id: ids).where.not(type: "BusinessLine").order(:name)
pp orgs.select{ |org| org.queue_tabs.any? { |tab| tab.is_a? OrganizationUnassignedTasksTab } }.map(&:name)
["American Legion",
 "American Red Cross",
 "American Veterans",
 "AOD",
 "Armed Forces Services Corporation",
 "Blinded Veterans Association",
 "Board Dispatch",
 "Board of Veterans' Appeals",
 "Case Movement Team",
 "Case Review",
 "Disabled American Veterans",
 "Fleet Reserve Association",
 "Hearing Admin",
 "Hearings Management",
 "Litigation Support",
 "Mail",
 "Marine Corps League",
 "Maryland Department of Veterans Affairs",
 "Military Order of the Purple Heart",
 "Paralyzed Veterans of America",
 "Privacy Team",
 "Quality Review",
 "Transcription",
 "Translation",
 "Veterans of Foreign Wars",
 "Vietnam Veterans of America",
 "Virginia Department of Veterans Services",
 "VLJ Support Staff",
 "Wounded Warrior Project"]

Removes the following orgs:
Education
Fiduciary
Insurance
Loan Guaranty
National Cemetery Administration
Veterans Health Administration
Vocational Rehabilitation and Employment

@hschallhorn
Copy link
Contributor

@araposo-tistatech This is going to be deployed tomorrow!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Priority: Medium Blocking issue w/workaround, or "second in" priority for new work. Product: caseflow-queue Team: Echo 🐬 Type: Enhancement Enhancement to an existing feature
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants