From c1542c567843a77befb034d24c4b6aa5f2504624 Mon Sep 17 00:00:00 2001 From: IsaiahBar <107133331+IsaiahBar@users.noreply.github.com> Date: Mon, 5 Aug 2024 17:56:54 -0400 Subject: [PATCH] IsaiahB/APPEALS-53208 (#22410) * update mail_task.rb * added method override for verifying user in correspondence mail task model * fix spec tests --------- Co-authored-by: cacevesva <109166981+cacevesva@users.noreply.github.com> Co-authored-by: HunJerBAH --- app/models/task.rb | 3 --- app/models/tasks/mail_task.rb | 6 ++++++ .../correspondence_mail_task.rb | 9 +++++++++ 3 files changed, 15 insertions(+), 3 deletions(-) diff --git a/app/models/task.rb b/app/models/task.rb index 60f9eada005..502b2ca5338 100644 --- a/app/models/task.rb +++ b/app/models/task.rb @@ -183,9 +183,6 @@ def cannot_have_children end def verify_user_can_create!(user, parent) - # guard clause to allow InboundOpsTeam members to create mail/appeal tasks within Correspondence Intake - return true if parent.appeal_type == Correspondence.name && InboundOpsTeam.singleton.user_has_access?(user) - can_create = parent&.available_actions(user)&.map do |action| parent.build_action_hash(action, user) end&.any? do |action| diff --git a/app/models/tasks/mail_task.rb b/app/models/tasks/mail_task.rb index 88ef64e573c..89f0bf1fe22 100644 --- a/app/models/tasks/mail_task.rb +++ b/app/models/tasks/mail_task.rb @@ -60,6 +60,12 @@ def parent_if_blocking_task(parent_task) parent_task end + def verify_user_can_create!(user, parent) + return true if InboundOpsTeam.singleton.user_has_access?(user) + + super(user, parent) + end + def create_from_params(params, user) parent_task = Task.find(params[:parent_id]) diff --git a/app/models/tasks/mail_tasks_not_related_to_appeal/correspondence_mail_task.rb b/app/models/tasks/mail_tasks_not_related_to_appeal/correspondence_mail_task.rb index 0877065914e..97cddacbb6e 100644 --- a/app/models/tasks/mail_tasks_not_related_to_appeal/correspondence_mail_task.rb +++ b/app/models/tasks/mail_tasks_not_related_to_appeal/correspondence_mail_task.rb @@ -2,6 +2,15 @@ # Abstract base class for "tasks not related to an appeal" added to a correspondence during Correspondence Intake. class CorrespondenceMailTask < CorrespondenceTask + class << self + # allows inbound ops team users to create tasks in intake + def verify_user_can_create!(user, parent) + return true if InboundOpsTeam.singleton.user_has_access?(user) + + super(user, parent) + end + end + self.abstract_class = true def self.create_child_task(parent, current_user, params)