-
Notifications
You must be signed in to change notification settings - Fork 19
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
Create PrivacyActTask subclass of GenericTask #10002
Comments
We should also fix the existing tasks that are in a bad state to return the task tree to a state where they can be worked on in the Caseflow application. |
MEDIUM. |
Noting here that #10304 is likely a result of the existing tasks being in a bad state, so we should check to see if that ticket is resolved by the cleanup in this ticket. |
Example of a task where we've gotten into a bad state with Privacy assigning to VLJ support staff instead of marking the task complete: rails c> org = PrivacyTeam.singleton
rails c> GenericTask.where(assigned_to: org).count
# 377
rails c> GenericTask.where(assigned_to: org).pluck(:type).uniq
# ["GenericTask", "FoiaRequestMailTask"]
rails c> GenericTask.where(assigned_to: org).select { |t| t.children.any? }.count
# 129
rails c> privacy_team_tasks = GenericTask.where(assigned_to: org).select { |t| t.children.any? }
rails c> example_task = privacy_team_tasks.first
rails c> example_task.appeal.tasks.order(:created_at).pluck(:parent_id, :id, :type, :assigned_to_type, :assigned_to_id)
# [nil, 9663, "RootTask", "Organization", 2],
[nil, 9664, "ColocatedTask", "Organization", 23],
[9664, 9665, "ColocatedTask", "User", 2141],
[nil, 165228, "ColocatedTask", "Organization", 23],
[165228, 165229, "ColocatedTask", "User", 803],
[nil, 165230, "ColocatedTask", "Organization", 23],
[165230, 165231, "ColocatedTask", "User", 803],
[165231, 169114, "GenericTask", "Organization", 202],
[169114, 176826, "GenericTask", "User", 2173],
[165231, 181974, "GenericTask", "Organization", 202]
# Let's limit it to only the situation where we have assigned to Colocated instead of
# returned to Colocated.
rails c> colocated_tasks_with_generic_parents = GenericTask.where(assigned_to: Colocated.singleton).where.not(parent_id: nil).select { |t| t.parent.is_a?(GenericTask) }
rails c> colocated_tasks_with_generic_parents.count
# 66
rails c> colocated_tasks_with_privacy_parents = colocated_tasks_with_generic_parents.select { |t| PrivacyTeam.singleton == t.parent.assigned_to }
rails c> colocated_tasks_with_privacy_parents.count
# 27
rails c> example_task = colocated_tasks_with_privacy_parents.first
rails c> example_task.appeal.tasks.order(:created_at).pluck(:parent_id, :id, :type, :assigned_to_type, :assigned_to_id, :status)
[nil, 372, "RootTask", "Organization", 2, "completed"],
[372, 542, "JudgeDecisionReviewTask", "User", 1060, "completed"],
[542, 795, "AttorneyTask", "User", 957, "completed"],
[795, 1566, "ColocatedTask", "Organization", 23, "completed"],
[1566, 838, "ColocatedTask", "User", 1967, "completed"],
[838, 31194, "GenericTask", "Organization", 202, "on_hold"], # <- Privacy Team
[31194, 32036, "GenericTask", "Organization", 23, "on_hold"], # <- VLJ support staff
[32036, 32037, "GenericTask", "User", 1829, "in_progress"],
[372, 178576, "BvaDispatchTask", "Organization", 19, "completed"],
[178576, 178577, "BvaDispatchTask", "User", 2008, "completed"] |
Has anybody used the "Assign to team" option to assign GenericTasks to teams other than PrivacyTeam? # GenericTasks assigned to any team.
rails c> Task.where(assigned_to_type: Organization.name, type: GenericTask.name).where.not(parent_id: nil).count
# 420
# GenericTasks assigned to non-PrivacyTeam teams.
rails c> Task.where(assigned_to_type: Organization.name, type: GenericTask.name).where.not(parent_id: nil).where.not(assigned_to: PrivacyTeam.singleton).count
# 0 Let's just get rid of the "Assign to team" option from |
Re "tasks that are in a bad state" - #10304 |
Resolves #10002 ### Description Added new `PrivacyActTask` Active Record model to provide generalized tracking task functionality with an `available_actions` method more closed scoped to the Privacy Team's responsibilities than the `GenericTask` parent class from which it inherits. Adds an associated test. ### Testing Plan `bx rspec spec/models/privacy_act_task_spec.rb`
Started the process to clean up the tasks in a bad state. Went from 21 to 20. More work left to do, but this is a solid pattern we can follow: # Let's look for GenericTasks assigned to Colocated org that are incomplete.
rails c> tasks_to_fix = Task.active.where(type: GenericTask.name, assigned_to: Colocated.singleton)
rails c> tasks_to_fix.count
# 21
# Let's look at an example and decide if we need to fix it.
rails c> pp tasks_to_fix.first.appeal.tasks.order(:created_at).pluck(:id, :parent_id, :type, :status, :assigned_to_type, :assigned_to_id)
# [[8147, nil, "RootTask", "assigned", "Organization", 2],
[12925, nil, "ColocatedTask", "completed", "Organization", 23], <- VLJ Support
[12926, 12925, "ColocatedTask", "completed", "User", 2012],
[15789, 12926, "GenericTask", "on_hold", "Organization", 202], <- Privacy team
[16566, 15789, "GenericTask", "on_hold", "Organization", 23],
[16567, 16566, "GenericTask", "cancelled", "User", 1379],
[201983, 16566, "GenericTask", "assigned", "User", 1585]]
# The child task (201983) should be completed. Privacy team should be active
# and different type.
rails c> privacy_act_task = Task.find(15789)
rails c> privacy_act_task.update!(type: PrivacyActTask.name)
# Let's complete the VLJ support staff GenericTask and put the ball in Privacy team's
# court by updating statuses if we need to afterwards.
rails c> colocated_user_generic_task = Task.find(201983)
rails c> colocated_user_generic_task.update!(status: Constants.TASK_STATUSES.completed)
# Let's see how the statuses are looking!
rails c> pp colocated_user_generic_task.appeal.reload.tasks.order(:created_at).pluck(:id, :parent_id, :type, :status, :assigned_to_type, :assigned_to_id)
# [[8147, nil, "RootTask", "assigned", "Organization", 2],
[12925, nil, "ColocatedTask", "completed", "Organization", 23],
[12926, 12925, "ColocatedTask", "completed", "User", 2012],
[15789, 12926, "PrivacyActTask", "completed", "Organization", 202],
[16566, 15789, "GenericTask", "completed", "Organization", 23],
[16567, 16566, "GenericTask", "cancelled", "User", 1379],
[201983, 16566, "GenericTask", "completed", "User", 1585]]
# I think we've updated the VACOLS location here. So let's take a look.
rails c> appeal = colocated_user_generic_task.appeal
rails c> appeal.location_code
# 50
# What is 50?
# Would expect it to be this:
rails c> Task.find(12925).assigned_by.vacols_uniq_id
# "TALAMT"
# Let's re-open the task, it should be routed correctly when it is closed again.
rails c> AppealRepository.update_location!(appeal, LegacyAppeal::LOCATION_CODES[:caseflow])
# We want re-open all the way back to Privacy team.
rails c> Task.find(12925).update!(status: Constants.TASK_STATUSES.on_hold)
rails c> Task.find(12926).update!(status: Constants.TASK_STATUSES.on_hold)
rails c> Task.find(15789).update!(status: Constants.TASK_STATUSES.assigned)
# Let's take a look to see if the task tree looks how we expect.
rails c> pp Task.find(8147).appeal.tasks.order(:created_at).pluck(:id, :parent_id, :type, :status, :assigned_to_type, :assigned_to_id)
# [[8147, nil, "RootTask", "assigned", "Organization", 2],
[12925, nil, "ColocatedTask", "on_hold", "Organization", 23],
[12926, 12925, "ColocatedTask", "on_hold", "User", 2012],
[15789, 12926, "PrivacyActTask", "assigned", "Organization", 202],
[16566, 15789, "GenericTask", "completed", "Organization", 23],
[16567, 16566, "GenericTask", "cancelled", "User", 1379],
[201983, 16566, "GenericTask", "completed", "User", 1585]]
# That looks exactly how we want it to.
# What is the location code?
rails c> Task.find(8147).appeal.location_code
# "CASEFLOW"
# Perfect.
# How many tasks to fix do we have now?
rails c> tasks_to_fix = Task.active.where(type: GenericTask.name, assigned_to: Colocated.singleton)
rails c> tasks_to_fix.count
# 20 |
More progress! Only 17 remaining: # Let's look for GenericTasks assigned to Colocated org that are incomplete.
rails c> tasks_to_fix = Task.active.where(type: GenericTask.name, assigned_to: Colocated.singleton)
rails c> tasks_to_fix.count
# 19
# Let's look at the task tree for this first one
rails c> pp tasks_to_fix.first.appeal.tasks.order(:created_at).pluck(:id, :parent_id, :type, :status, :assigned_to_type, :assigned_to_id)
# [[372, nil, "RootTask", "completed", "Organization", 2],
[542, 372, "JudgeDecisionReviewTask", "completed", "User", 1060],
[795, 542, "AttorneyTask", "completed", "User", 957],
[1566, 795, "ColocatedTask", "completed", "Organization", 23],
[838, 1566, "ColocatedTask", "completed", "User", 1967],
[31194, 838, "GenericTask", "on_hold", "Organization", 202], # <- Privacy team
[32036, 31194, "GenericTask", "on_hold", "Organization", 23], # <- Colocated
[32037, 32036, "GenericTask", "in_progress", "User", 1829],
[178576, 372, "BvaDispatchTask", "completed", "Organization", 19],
[178577, 178576, "BvaDispatchTask", "completed", "User", 2008]]
# This appeal has already been dispatched. Let's complete the one open task.
# We expect the task tree not to change outside of the 2 on hold tasks and 1 in progress.
rails c> Task.find(32037).update!(status: Constants.TASK_STATUSES.completed)
rails c> pp tasks_to_fix.first.appeal.tasks.order(:created_at).pluck(:id, :parent_id, :type, :status, :assigned_to_type, :assigned_to_id)
# Looks the same. This is an AMA appeal so nothing would have changed in VACOLS
# because it does not exist in VACOLS.
# Next VICTIM:
rails c> tasks_to_fix = Task.active.where(type: GenericTask.name, assigned_to: Colocated.singleton)
rails c> tasks_to_fix.count
# 18
rails c> pp tasks_to_fix.first.appeal.tasks.order(:created_at).pluck(:id, :parent_id, :type, :status, :assigned_to_type, :assigned_to_id)
# [[1878, nil, "ColocatedTask", "on_hold", "Organization", 23],
[1879, 1878, "ColocatedTask", "cancelled", "User", 1885],
[152087, 1878, "ColocatedTask", "on_hold", "User", 2141]]
[30615, 152087, "GenericTask", "on_hold", "Organization", 202],
[32059, 30615, "GenericTask", "on_hold", "Organization", 23],
[32060, 32059, "GenericTask", "assigned", "User", 1885],
[30610, nil, "RootTask", "assigned", "Organization", 2],
# What is the current location of this LegacyAppeal?
rails c> tasks_to_fix.first.appeal.location_code
# "CASEFLOW"
# Caseflow still has responsibility, the appeal has not been dispatched. Let's get it
# unstuck!
rails c> tasks_to_fix.first.appeal.status
# "Active"
# Definitely still active at the Board.
# Which tasks do we need to fix up? What is going on with each of these tasks?
rails c> pp Task.where(id: [30615, 32059, 32060]).order(:created_at).pluck(:instructions)
# This Privacy act task should have just gone back to VLJ support staff directly.
rails c> true_parent_task = Task.find(152087)
rails c> child_privacy_task = Task.find(30615)
rails c> incorrect_colocated_generic_org_task = child_privacy_task.children.first
# Let's move the instructions to the correct parent ColocatedTask.
rails c> true_parent_task.instructions = true_parent_task.instructions.push(incorrect_colocated_generic_org_task.instructions).flatten
rails c> true_parent_task.save!
# Let's cancel the GenericTasks assigned to VLJ and complete the one assigned to Privacy
rails c> childmost_task = Task.find(32060)
# We expect the parent (generic task, assigned to colocated org) to be completed
# its parent (generic assigned to privacy org) to also be completed
# and the ColocatedTask currently on hold assigned to a person to have status "assigned"
rails c> childmost_task.update!(status: Constants.TASK_STATUSES.cancelled)
# [[1878, nil, "ColocatedTask", "on_hold", "Organization", 23],
[1879, 1878, "ColocatedTask", "cancelled", "User", 1885],
[152087, 1878, "ColocatedTask", "assigned", "User", 2141]]
[30615, 152087, "GenericTask", "completed", "Organization", 202],
[32059, 30615, "GenericTask", "completed", "Organization", 23],
[32060, 32059, "GenericTask", "cancelled", "User", 1885],
[30610, nil, "RootTask", "assigned", "Organization", 2],
# Looks good here!
# How do our numbers look now?
rails c> tasks_to_fix = Task.active.where(type: GenericTask.name, assigned_to: Colocated.singleton)
rails c> tasks_to_fix.count
# 17 |
rails c> tasks_to_fix = Task.active.where(type: GenericTask.name, assigned_to: Colocated.singleton)
rails c> tasks_to_fix.count
# 11 left!
rails c> pp tasks_to_fix.first.appeal.tasks.order(:created_at).pluck(:id, :parent_id, :type, :status, :assigned_to_type, :assigned_to_id)
[1916, nil, "ColocatedTask", "on_hold", "Organization", 23],
[1917, 1916, "ColocatedTask", "on_hold", "User", 1967],
[13478, 1917, "GenericTask", "completed", "Organization", 202],
[31204, 1917, "GenericTask", "on_hold", "Organization", 202],
[32243, 31204, "GenericTask", "on_hold", "User", 1515],
[32423, 32243, "GenericTask", "on_hold", "Organization", 23],
[32424, 32423, "GenericTask", "assigned", "User", 2077]
[13477, nil, "RootTask", "assigned", "Organization", 2],
Curious. Looks like we need to collect all open tasks & reach out to VLJ support staff
and ask “What do you wanna do with this?”
rails c> Task.find_by(id: 32424)
rails > User.find_by(id: 2077)
Tina
rails c> Task.find(32424).update!(status: Constants.TASK_STATUSES.completed)
rails c> Task,find(32243).update!(status: Constants.TASK_STATUSES.completed)
rails c> tasks_to_fix = Task.active.where(type: GenericTask.name, assigned_to: Colocated.singleton)
rails c> tasks_to_fix.first.appeal.tasks.order(:created_at).pluck(:id, :parent_id, :type, :status, :assigned_to_type, :assigned_to_id)
[11017, nil, "RootTask", "assigned", "Organization", 2],
[11043, nil, "ColocatedTask", "completed", "Organization", 23],
[11044, 11043, "ColocatedTask", "completed", "User", 1967],
[12253, 11044, "GenericTask", "completed", "Organization", 202],
[14342, 12253, "GenericTask", "completed", "User", 1515],
[74926, 11044, "GenericTask", "on_hold", "Organization", 202],
[77290, 74926, "GenericTask", "on_hold", "Organization", 23],
[219234, 77290, "GenericTask", "assigned", "User", 1967]
[77291, 77290, "GenericTask", "cancelled", "User", 1379],
[143761, nil, "ColocatedTask", "completed", "Organization", 23],
[143762, 143761, "ColocatedTask", "completed", "User", 2141],
rails c> Task.find(219234).update!(status: Constants.TASK_STATUS.completed)
[103516, nil, "RootTask", "assigned", "Organization", 2],
[103553, nil, "ColocatedTask", "on_hold", "Organization", 23],
[103557, 103553, "ColocatedTask", "on_hold", "User", 2141],
[131454, 103557, "GenericTask", "on_hold", "Organization", 202],
[131587, 131454, "GenericTask", "on_hold", "Organization", 23],
[131588, 131587, "GenericTask", "assigned", "User", 1379]
rails c> Task.find(131588).update!(status: Constants.TASK_STATUSES.completed)
[169972, nil, "RootTask", "assigned", "Organization", 2],
[176357, nil, "ColocatedTask", "completed", "Organization", 23],
[176358, 176357, "ColocatedTask", "completed", "User", 803],
[177941, 176358, "GenericTask", "completed", "Organization", 202],
[181957, 176358, "GenericTask", "completed", "Organization", 202],
[183477, 176358, "GenericTask", "on_hold", "Organization", 202],
[190374, 183477, "GenericTask", "on_hold", "User", 2173],
[190711, 190374, "GenericTask", "on_hold", "Organization", 23],
[190712, 190711, "GenericTask", "assigned", "User", 1379],
[208994, nil, "ColocatedTask", "on_hold", "Organization", 23],
[208995, 208994, "ColocatedTask", "on_hold", "User", 1379]
rails c> Task.find(190712).update!(status: Constants.TASK_STATUSES.completed)
[58328, nil, "RootTask", "assigned", "Organization", 2],
[58642, nil, "ColocatedTask", "completed", "Organization", 23],
[58643, 58642, "ColocatedTask", "cancelled", "User", 1379],
[152204, 58642, "ColocatedTask", "completed", "User", 1379],
[178398, 152204, "GenericTask", "on_hold", "Organization", 202],
[190563, 178398, "GenericTask", "on_hold", "User", 2173],
[190754, 190563, "GenericTask", "on_hold", "Organization", 23],
[190755, 190754, "GenericTask", "cancelled", "User", 2141],
[190868, 190754, "GenericTask", "in_progress", "User", 1379]]
rails c> tasks_to_fix = Task.active.where(type: GenericTask.name, assigned_to: Colocated.singleton)
rails c> tasks_to_fix.count
6 left, whew |
Bumps [eslint](https://github.com/eslint/eslint) from 4.9.0 to 4.18.2. <details> <summary>Release notes</summary> *Sourced from [eslint's releases](https://github.com/eslint/eslint/releases).* > ## v4.18.2 > * 6b71fd0 Fix: [email protected], because 4.0.3 needs "ajv": "^6.0.1" ([#10022](https://github-redirect.dependabot.com/eslint/eslint/issues/10022)) (Mathieu Seiler) > * 3c697de Chore: fix incorrect comment about linter.verify return value ([#10030](https://github-redirect.dependabot.com/eslint/eslint/issues/10030)) (Teddy Katz) > * 9df8653 Chore: refactor parser-loading out of linter.verify ([#10028](https://github-redirect.dependabot.com/eslint/eslint/issues/10028)) (Teddy Katz) > * f6901d0 Fix: remove catastrophic backtracking vulnerability (fixes [#10002](https://github-redirect.dependabot.com/eslint/eslint/issues/10002)) ([#10019](https://github-redirect.dependabot.com/eslint/eslint/issues/10019)) (Jamie Davis) > * e4f52ce Chore: Simplify dataflow in linter.verify ([#10020](https://github-redirect.dependabot.com/eslint/eslint/issues/10020)) (Teddy Katz) > * 33177cd Chore: make library files non-executable ([#10021](https://github-redirect.dependabot.com/eslint/eslint/issues/10021)) (Teddy Katz) > * 558ccba Chore: refactor directive comment processing ([#10007](https://github-redirect.dependabot.com/eslint/eslint/issues/10007)) (Teddy Katz) > * 18e15d9 Chore: avoid useless catch clauses that just rethrow errors ([#10010](https://github-redirect.dependabot.com/eslint/eslint/issues/10010)) (Teddy Katz) > * a1c3759 Chore: refactor populating configs with defaults in linter ([#10006](https://github-redirect.dependabot.com/eslint/eslint/issues/10006)) (Teddy Katz) > * aea07dc Fix: Make max-len ignoreStrings ignore JSXText (fixes [#9954](https://github-redirect.dependabot.com/eslint/eslint/issues/9954)) ([#9985](https://github-redirect.dependabot.com/eslint/eslint/issues/9985)) (Rachael Sim) > > ## v4.18.1 > * f417506 Fix: ensure no-await-in-loop reports the correct node (fixes [#9992](https://github-redirect.dependabot.com/eslint/eslint/issues/9992)) ([#9993](https://github-redirect.dependabot.com/eslint/eslint/issues/9993)) (Teddy Katz) > * 3e99363 Docs: Fixed typo in key-spacing rule doc ([#9987](https://github-redirect.dependabot.com/eslint/eslint/issues/9987)) (Jaid) > * 7c2cd70 Docs: deprecate experimentalObjectRestSpread ([#9986](https://github-redirect.dependabot.com/eslint/eslint/issues/9986)) (Toru Nagashima) > > ## v4.18.0 > * 70f22f3 Chore: Apply memoization to config creation within glob utils ([#9944](https://github-redirect.dependabot.com/eslint/eslint/issues/9944)) (Kenton Jacobsen) > * 0e4ae22 Update: fix indent bug with binary operators/ignoredNodes (fixes [#9882](https://github-redirect.dependabot.com/eslint/eslint/issues/9882)) ([#9951](https://github-redirect.dependabot.com/eslint/eslint/issues/9951)) (Teddy Katz) > * 47ac478 Update: add named imports and exports for object-curly-newline ([#9876](https://github-redirect.dependabot.com/eslint/eslint/issues/9876)) (Nicholas Chua) > * e8efdd0 Fix: support Rest/Spread Properties (fixes [#9885](https://github-redirect.dependabot.com/eslint/eslint/issues/9885)) ([#9943](https://github-redirect.dependabot.com/eslint/eslint/issues/9943)) (Toru Nagashima) > * f012b8c Fix: support Async iteration (fixes [#9891](https://github-redirect.dependabot.com/eslint/eslint/issues/9891)) ([#9957](https://github-redirect.dependabot.com/eslint/eslint/issues/9957)) (Toru Nagashima) > * 74fa253 Docs: Clarify no-mixed-operators options (fixes [#9962](https://github-redirect.dependabot.com/eslint/eslint/issues/9962)) ([#9964](https://github-redirect.dependabot.com/eslint/eslint/issues/9964)) (Ivan Hayes) > * 426868f Docs: clean up key-spacing docs (fixes [#9900](https://github-redirect.dependabot.com/eslint/eslint/issues/9900)) ([#9963](https://github-redirect.dependabot.com/eslint/eslint/issues/9963)) (Abid Uzair) > * 4a6f22e Update: support eslint-disable-* block comments (fixes [#8781](https://github-redirect.dependabot.com/eslint/eslint/issues/8781)) ([#9745](https://github-redirect.dependabot.com/eslint/eslint/issues/9745)) (Erin) > * 777283b Docs: Propose fix typo for function ([#9965](https://github-redirect.dependabot.com/eslint/eslint/issues/9965)) (John Eismeier) > * bf3d494 Docs: Fix typo in max-len ignorePattern example. ([#9956](https://github-redirect.dependabot.com/eslint/eslint/issues/9956)) (Tim Martin) > * d64fbb4 Docs: fix typo in prefer-destructuring.md example ([#9930](https://github-redirect.dependabot.com/eslint/eslint/issues/9930)) (Vse Mozhet Byt) > * f8d343f Chore: Fix default issue template ([#9946](https://github-redirect.dependabot.com/eslint/eslint/issues/9946)) (Kai Cataldo) > > ## v4.17.0 > * 1da1ada Update: Add "multiline" type to padding-line-between-statements ([#8668](https://github-redirect.dependabot.com/eslint/eslint/issues/8668)) (Matthew Bennett) > * bb213dc Chore: Use messageIds in some of the core rules ([#9648](https://github-redirect.dependabot.com/eslint/eslint/issues/9648)) (Jed Fox) > * 1aa1970 Docs: remove outdated rule naming convention ([#9925](https://github-redirect.dependabot.com/eslint/eslint/issues/9925)) (Teddy Katz) > * 3afaff6 Docs: Add prefer-destructuring variable reassignment example ([#9873](https://github-redirect.dependabot.com/eslint/eslint/issues/9873)) (LePirlouit) > * d20f6b4 Fix: Typo in error message when running npm ([#9866](https://github-redirect.dependabot.com/eslint/eslint/issues/9866)) (Maciej Kasprzyk) > * 51ec6a7 Docs: Use GitHub Multiple PR/Issue templates ([#9911](https://github-redirect.dependabot.com/eslint/eslint/issues/9911)) (Kai Cataldo) > * dc80487 Update: space-unary-ops uses astUtils.canTokensBeAdjacent (fixes [#9907](https://github-redirect.dependabot.com/eslint/eslint/issues/9907)) ([#9906](https://github-redirect.dependabot.com/eslint/eslint/issues/9906)) (Kevin Partington) > * 084351b Docs: Fix the messageId example (fixes [#9889](https://github-redirect.dependabot.com/eslint/eslint/issues/9889)) ([#9892](https://github-redirect.dependabot.com/eslint/eslint/issues/9892)) (Jed Fox) > * 9cbb487 Docs: Mention the `globals` key in the no-undef docs ([#9867](https://github-redirect.dependabot.com/eslint/eslint/issues/9867)) (Dan Dascalescu) > > ## v4.16.0 > * e26a25f Update: allow continue instead of if wrap in guard-for-in (fixes [#7567](https://github-redirect.dependabot.com/eslint/eslint/issues/7567)) ([#9796](https://github-redirect.dependabot.com/eslint/eslint/issues/9796)) (Michael Ficarra) > * af043eb Update: Add NewExpression support to comma-style ([#9591](https://github-redirect.dependabot.com/eslint/eslint/issues/9591)) (Frazer McLean) > * 4f898c7 Build: Fix JSDoc syntax errors ([#9813](https://github-redirect.dependabot.com/eslint/eslint/issues/9813)) (Matija Marohnić) > * 13bcf3c Fix: Removing curly quotes in no-eq-null report message ([#9852](https://github-redirect.dependabot.com/eslint/eslint/issues/9852)) (Kevin Partington) > * b96fb31 Docs: configuration hierarchy for CLIEngine options (fixes [#9526](https://github-redirect.dependabot.com/eslint/eslint/issues/9526)) ([#9855](https://github-redirect.dependabot.com/eslint/eslint/issues/9855)) (PiIsFour) > * 8ccbdda Docs: Clarify that -c configs merge with `.eslintrc.*` (fixes [#9535](https://github-redirect.dependabot.com/eslint/eslint/issues/9535)) ([#9847](https://github-redirect.dependabot.com/eslint/eslint/issues/9847)) (Kevin Partington) > * 978574f Docs: Fix examples for no-useless-escape ([#9853](https://github-redirect.dependabot.com/eslint/eslint/issues/9853)) (Toru Kobayashi) ></tr></table> ... (truncated) </details> <details> <summary>Changelog</summary> *Sourced from [eslint's changelog](https://github.com/eslint/eslint/blob/master/CHANGELOG.md).* > v4.18.2 - March 2, 2018 > > * 6b71fd0 Fix: [email protected], because 4.0.3 needs "ajv": "^6.0.1" ([#10022](https://github-redirect.dependabot.com/eslint/eslint/issues/10022)) (Mathieu Seiler) > * 3c697de Chore: fix incorrect comment about linter.verify return value ([#10030](https://github-redirect.dependabot.com/eslint/eslint/issues/10030)) (Teddy Katz) > * 9df8653 Chore: refactor parser-loading out of linter.verify ([#10028](https://github-redirect.dependabot.com/eslint/eslint/issues/10028)) (Teddy Katz) > * f6901d0 Fix: remove catastrophic backtracking vulnerability (fixes [#10002](https://github-redirect.dependabot.com/eslint/eslint/issues/10002)) ([#10019](https://github-redirect.dependabot.com/eslint/eslint/issues/10019)) (Jamie Davis) > * e4f52ce Chore: Simplify dataflow in linter.verify ([#10020](https://github-redirect.dependabot.com/eslint/eslint/issues/10020)) (Teddy Katz) > * 33177cd Chore: make library files non-executable ([#10021](https://github-redirect.dependabot.com/eslint/eslint/issues/10021)) (Teddy Katz) > * 558ccba Chore: refactor directive comment processing ([#10007](https://github-redirect.dependabot.com/eslint/eslint/issues/10007)) (Teddy Katz) > * 18e15d9 Chore: avoid useless catch clauses that just rethrow errors ([#10010](https://github-redirect.dependabot.com/eslint/eslint/issues/10010)) (Teddy Katz) > * a1c3759 Chore: refactor populating configs with defaults in linter ([#10006](https://github-redirect.dependabot.com/eslint/eslint/issues/10006)) (Teddy Katz) > * aea07dc Fix: Make max-len ignoreStrings ignore JSXText (fixes [#9954](https://github-redirect.dependabot.com/eslint/eslint/issues/9954)) ([#9985](https://github-redirect.dependabot.com/eslint/eslint/issues/9985)) (Rachael Sim) > > v4.18.1 - February 20, 2018 > > * f417506 Fix: ensure no-await-in-loop reports the correct node (fixes [#9992](https://github-redirect.dependabot.com/eslint/eslint/issues/9992)) ([#9993](https://github-redirect.dependabot.com/eslint/eslint/issues/9993)) (Teddy Katz) > * 3e99363 Docs: Fixed typo in key-spacing rule doc ([#9987](https://github-redirect.dependabot.com/eslint/eslint/issues/9987)) (Jaid) > * 7c2cd70 Docs: deprecate experimentalObjectRestSpread ([#9986](https://github-redirect.dependabot.com/eslint/eslint/issues/9986)) (Toru Nagashima) > > v4.18.0 - February 16, 2018 > > * 70f22f3 Chore: Apply memoization to config creation within glob utils ([#9944](https://github-redirect.dependabot.com/eslint/eslint/issues/9944)) (Kenton Jacobsen) > * 0e4ae22 Update: fix indent bug with binary operators/ignoredNodes (fixes [#9882](https://github-redirect.dependabot.com/eslint/eslint/issues/9882)) ([#9951](https://github-redirect.dependabot.com/eslint/eslint/issues/9951)) (Teddy Katz) > * 47ac478 Update: add named imports and exports for object-curly-newline ([#9876](https://github-redirect.dependabot.com/eslint/eslint/issues/9876)) (Nicholas Chua) > * e8efdd0 Fix: support Rest/Spread Properties (fixes [#9885](https://github-redirect.dependabot.com/eslint/eslint/issues/9885)) ([#9943](https://github-redirect.dependabot.com/eslint/eslint/issues/9943)) (Toru Nagashima) > * f012b8c Fix: support Async iteration (fixes [#9891](https://github-redirect.dependabot.com/eslint/eslint/issues/9891)) ([#9957](https://github-redirect.dependabot.com/eslint/eslint/issues/9957)) (Toru Nagashima) > * 74fa253 Docs: Clarify no-mixed-operators options (fixes [#9962](https://github-redirect.dependabot.com/eslint/eslint/issues/9962)) ([#9964](https://github-redirect.dependabot.com/eslint/eslint/issues/9964)) (Ivan Hayes) > * 426868f Docs: clean up key-spacing docs (fixes [#9900](https://github-redirect.dependabot.com/eslint/eslint/issues/9900)) ([#9963](https://github-redirect.dependabot.com/eslint/eslint/issues/9963)) (Abid Uzair) > * 4a6f22e Update: support eslint-disable-* block comments (fixes [#8781](https://github-redirect.dependabot.com/eslint/eslint/issues/8781)) ([#9745](https://github-redirect.dependabot.com/eslint/eslint/issues/9745)) (Erin) > * 777283b Docs: Propose fix typo for function ([#9965](https://github-redirect.dependabot.com/eslint/eslint/issues/9965)) (John Eismeier) > * bf3d494 Docs: Fix typo in max-len ignorePattern example. ([#9956](https://github-redirect.dependabot.com/eslint/eslint/issues/9956)) (Tim Martin) > * d64fbb4 Docs: fix typo in prefer-destructuring.md example ([#9930](https://github-redirect.dependabot.com/eslint/eslint/issues/9930)) (Vse Mozhet Byt) > * f8d343f Chore: Fix default issue template ([#9946](https://github-redirect.dependabot.com/eslint/eslint/issues/9946)) (Kai Cataldo) > > v4.17.0 - February 2, 2018 > > * 1da1ada Update: Add "multiline" type to padding-line-between-statements ([#8668](https://github-redirect.dependabot.com/eslint/eslint/issues/8668)) (Matthew Bennett) > * bb213dc Chore: Use messageIds in some of the core rules ([#9648](https://github-redirect.dependabot.com/eslint/eslint/issues/9648)) (Jed Fox) > * 1aa1970 Docs: remove outdated rule naming convention ([#9925](https://github-redirect.dependabot.com/eslint/eslint/issues/9925)) (Teddy Katz) > * 3afaff6 Docs: Add prefer-destructuring variable reassignment example ([#9873](https://github-redirect.dependabot.com/eslint/eslint/issues/9873)) (LePirlouit) > * d20f6b4 Fix: Typo in error message when running npm ([#9866](https://github-redirect.dependabot.com/eslint/eslint/issues/9866)) (Maciej Kasprzyk) > * 51ec6a7 Docs: Use GitHub Multiple PR/Issue templates ([#9911](https://github-redirect.dependabot.com/eslint/eslint/issues/9911)) (Kai Cataldo) > * dc80487 Update: space-unary-ops uses astUtils.canTokensBeAdjacent (fixes [#9907](https://github-redirect.dependabot.com/eslint/eslint/issues/9907)) ([#9906](https://github-redirect.dependabot.com/eslint/eslint/issues/9906)) (Kevin Partington) > * 084351b Docs: Fix the messageId example (fixes [#9889](https://github-redirect.dependabot.com/eslint/eslint/issues/9889)) ([#9892](https://github-redirect.dependabot.com/eslint/eslint/issues/9892)) (Jed Fox) > * 9cbb487 Docs: Mention the `globals` key in the no-undef docs ([#9867](https://github-redirect.dependabot.com/eslint/eslint/issues/9867)) (Dan Dascalescu) > > v4.16.0 - January 19, 2018 > > * e26a25f Update: allow continue instead of if wrap in guard-for-in (fixes [#7567](https://github-redirect.dependabot.com/eslint/eslint/issues/7567)) ([#9796](https://github-redirect.dependabot.com/eslint/eslint/issues/9796)) (Michael Ficarra) > * af043eb Update: Add NewExpression support to comma-style ([#9591](https://github-redirect.dependabot.com/eslint/eslint/issues/9591)) (Frazer McLean) ></tr></table> ... (truncated) </details> <details> <summary>Commits</summary> - [`22ff6f3`](eslint/eslint@22ff6f3) 4.18.2 - [`817b84b`](eslint/eslint@817b84b) Build: changelog update for 4.18.2 - [`6b71fd0`](eslint/eslint@6b71fd0) Fix: [email protected], because 4.0.3 needs "ajv": "^6.0.1" ([#10022](https://github-redirect.dependabot.com/eslint/eslint/issues/10022)) - [`3c697de`](eslint/eslint@3c697de) Chore: fix incorrect comment about linter.verify return value ([#10030](https://github-redirect.dependabot.com/eslint/eslint/issues/10030)) - [`9df8653`](eslint/eslint@9df8653) Chore: refactor parser-loading out of linter.verify ([#10028](https://github-redirect.dependabot.com/eslint/eslint/issues/10028)) - [`f6901d0`](eslint/eslint@f6901d0) Fix: remove catastrophic backtracking vulnerability (fixes [#10002](https://github-redirect.dependabot.com/eslint/eslint/issues/10002)) ([#10019](https://github-redirect.dependabot.com/eslint/eslint/issues/10019)) - [`e4f52ce`](eslint/eslint@e4f52ce) Chore: Simplify dataflow in linter.verify ([#10020](https://github-redirect.dependabot.com/eslint/eslint/issues/10020)) - [`33177cd`](eslint/eslint@33177cd) Chore: make library files non-executable ([#10021](https://github-redirect.dependabot.com/eslint/eslint/issues/10021)) - [`558ccba`](eslint/eslint@558ccba) Chore: refactor directive comment processing ([#10007](https://github-redirect.dependabot.com/eslint/eslint/issues/10007)) - [`18e15d9`](eslint/eslint@18e15d9) Chore: avoid useless catch clauses that just rethrow errors ([#10010](https://github-redirect.dependabot.com/eslint/eslint/issues/10010)) - Additional commits viewable in [compare view](eslint/eslint@v4.9.0...v4.18.2) </details> <br /> [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=eslint&package-manager=npm_and_yarn&previous-version=4.9.0&new-version=4.18.2)](https://help.github.com/articles/configuring-automated-security-fixes) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot ignore this [patch|minor|major] version` will close this PR and stop Dependabot creating any more for this minor/major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) - `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language - `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language - `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language - `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/department-of-veterans-affairs/caseflow/network/alerts). </details>
Currently, when VLJ support staff assign tasks the Privacy team we create
GenericTask
s assigned to that team. However, we've recently run into some issues with this approach when the Privacy team attempts to re-assign the task back to VLJ support instead of marking the task complete which results in tasks bouncing back and forth between the two teams (pictured below) because tasks are not being properly closed.Most other teams have specifically-designed tasks for their team, the Privacy team is the only team that is making use of
GenericTask
s like this. In order to reduce confusion we could limit the actions available on tasks assigned to the Privacy team.Acceptance criteria
GenericTask
with a limited set of available action.The text was updated successfully, but these errors were encountered: