Skip to content

Commit

Permalink
Revert "Feature/appeals 24914"
Browse files Browse the repository at this point in the history
  • Loading branch information
raymond-hughes authored Oct 12, 2023
1 parent f7d323c commit 6613e58
Show file tree
Hide file tree
Showing 104 changed files with 556 additions and 2,399 deletions.
10 changes: 1 addition & 9 deletions .reek.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@ detectors:
- PowerOfAttorney
- QueueConfig
- RatingDecision
- Task#skip_check_for_only_open_task_of_type
BooleanParameter:
exclude:
- AsyncableJobsReporter#initialize
Expand Down Expand Up @@ -41,8 +40,6 @@ detectors:
- VirtualHearing#email_recipient_name
- JudgeDecisionReviewTask#additional_available_actions
- LegacyDocket#should_distribute?
- AttorneyLegacyTask
- JudgeLegacyAssignTask
UncommunicativeVariableName:
exclude:
- Address
Expand All @@ -68,7 +65,6 @@ detectors:
- SanitizedJsonExporter
- Seeds::Tasks
- TaskTreeRenderModule
- Task
DuplicateMethodCall:
enabled: false
FeatureEnvy:
Expand Down Expand Up @@ -140,8 +136,6 @@ detectors:
- ExternalApi::PexipService#send_pexip_request
- ControllerSchema#remove_unknown_keys
- BusinessLineReporter#as_csv
- TasksController#parent_legacy_appeal?
- Task#cancel_task_and_child_subtasks
InstanceVariableAssumption:
exclude:
- Appeal
Expand Down Expand Up @@ -261,14 +255,12 @@ detectors:
- UpdatePOAConcern
- VBMSCaseflowLogger#log
- LegacyDocket
- AttorneyLegacyTask
- JudgeLegacyAssignTask
- TasksController#reassign_task
UnusedParameters:
exclude:
- Docket#distribute_appeals
- HearingRequestDocket#distribute_appeals


### Directory specific configuration
# You can configure smells on a per-directory base.
# E.g. the classic Rails case: controllers smell of NestedIterators (see /docs/Nested-Iterators.md) and
Expand Down
1 change: 1 addition & 0 deletions app/controllers/case_reviews_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ def set_application

def complete
result = CompleteCaseReview.new(case_review_class: case_review_class, params: complete_params).call

if result.success?
case_review = result.extra[:case_review]
render json: {
Expand Down
11 changes: 2 additions & 9 deletions app/controllers/legacy_tasks_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -114,16 +114,16 @@ def update
end

task = JudgeCaseAssignmentToAttorney.update(legacy_task_params.merge(task_id: params[:id]))
task_instruction

return invalid_record_error(task) unless task.valid?

# Remove overtime status of an appeal when reassigning to another attorney
appeal.overtime = false if appeal.overtime?

render json: {
task: json_task(AttorneyLegacyTask.from_vacols(
task.last_case_assignment,
LegacyAppeal.find_or_create_by_vacols_id(appeal.vacols_id),
LegacyAppeal.find_or_create_by_vacols_id(task.vacols_id),
task.assigned_to
))
}
Expand All @@ -139,13 +139,6 @@ def validate_user_role
return invalid_role_error unless ROLES.include?(user_role)
end

def task_instruction
if params[:tasks][:instructions].present?
assigned_task = appeal.tasks.find_by_status("assigned") || appeal.tasks.find_by_status("in_progress")
assigned_task&.update(instructions: [params[:tasks][:instructions]])
end
end

def user
@user ||= positive_integer?(params[:user_id]) ? User.find(params[:user_id]) : User.find_by_css_id(params[:user_id])
end
Expand Down
66 changes: 9 additions & 57 deletions app/controllers/tasks_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -93,49 +93,29 @@ def create
param_groups.each do |task_type, param_group|
tasks << valid_task_classes[task_type.to_sym].create_many_from_params(param_group, current_user)
end
# This should be the JudgeDecisionReviewTask
parent_task = attorney_rewrite_task?
parent_legacy_appeal?(parent_task)

modified_tasks = [parent_tasks_from_params, tasks].flatten.uniq

render json: { tasks: json_tasks(modified_tasks) }
rescue ActiveRecord::RecordInvalid => error
invalid_record_error(error.record)
rescue Caseflow::Error::MailRoutingError => error
render(error.serialize_response)
end

def parent_legacy_appeal?(parent_task)
if parent_task&.appeal.is_a?(LegacyAppeal)
QueueRepository.reassign_decass_to_attorney!(
judge: parent_task.assigned_to,
attorney: User.find(params[:tasks].first[:assigned_to_id]),
vacols_id: parent_task.appeal.external_id
)
end
end

def attorney_rewrite_task?
if params[:tasks].is_a?(Array) && params[:tasks].first[:type] == "AttorneyRewriteTask"
Task.find_by(id: params[:tasks].first[:parent_id])
elsif !params[:tasks].is_a?(Array) && params[:tasks][:type] == "AttorneyRewriteTask"
Task.find_by(id: params[:tasks][:parent_id])
end
end

# To update attorney task
# e.g, for ama/legacy appeal => PATCH /tasks/:id,
# {
# assigned_to_id: 23
# }

# rubocop:disable Metrics/AbcSize
def update
Task.transaction do
tasks = task.update_from_params(update_params, current_user)
tasks.each { |t| return invalid_record_error(t) unless t.valid? }

tasks_hash = json_tasks(tasks.uniq)
modify_task(task, update_params)
if task.appeal.class != LegacyAppeal
modified_task_contested_claim
end
# currently alerts are only returned by ScheduleHearingTask
# and AssignHearingDispositionTask for virtual hearing related updates
# Start with any alerts on the current task, then find alerts on the tasks
Expand All @@ -161,25 +141,6 @@ def update

render_update_errors(["title": COPY::FAILED_HEARING_UPDATE, "message": error.message, "code": error.code])
end
# rubocop:enable Metrics/AbcSize

def reassign_task?(task, update_params)
assigned_to =
if update_params&.[](:reassign)&.[](:assigned_to_id)
User.find(update_params[:reassign][:assigned_to_id])
elsif task.type == "AttorneyTask" || task.type == "AttorneyRewriteTask"
User.find(Task.find_by(id: task.parent_id).assigned_to_id)
end
QueueRepository.update_location_to_judge(task.appeal.vacols_id, assigned_to) if assigned_to
end

def modify_task(task, update_params)
if task.appeal.instance_of?(LegacyAppeal)
reassign_task?(task, update_params)
else
modified_task_contested_claim
end
end

def for_appeal
no_cache
Expand Down Expand Up @@ -395,28 +356,19 @@ def parent_tasks_from_params
Task.where(id: create_params.map { |params| params[:parent_id] })
end

# rubocop:disable Metrics/AbcSize
def create_params
@create_params ||= [params.require("tasks")].flatten.map do |task|
appeal = Appeal.find_appeal_by_uuid_or_find_or_create_legacy_appeal_by_vacols_id(task[:external_id])
task = task.merge(instructions: [task[:instructions]].flatten.compact)
task = task.permit(:type, { instructions: [] }, :assigned_to_id, :cancellation_reason,
:assigned_to_type, :parent_id, business_payloads: [:description, { values: {} }])
task = task.permit(:type, { instructions: [] }, :assigned_to_id,
:assigned_to_type, :parent_id, business_payloads: [:description, values: {}])
.merge(assigned_by: current_user)
.merge(appeal: appeal)

task = task.merge(assigned_to_type: User.name) if !task[:assigned_to_type]

if appeal.is_a?(LegacyAppeal) && (task[:type] == "BlockedSpecialCaseMovementTask" ||
task[:type] == "SpecialCaseMovementTask")
task = task.merge(external_id: params["tasks"][0]["external_id"],
legacy_task_type: params["tasks"][0]["legacy_task_type"],
appeal_type: params["tasks"][0]["appeal_type"])
end
task
end
end
# rubocop:enable Metrics/AbcSize

def update_params
params.require("task").permit(
Expand All @@ -427,8 +379,8 @@ def update_params
:select_opc,
:radio_value,
:parent_id,
reassign: [:assigned_to_id, :assigned_to_type, :instructions, { previous: [:details, :old_judge, :new_judge] }],
business_payloads: [:description, { values: {} }]
reassign: [:assigned_to_id, :assigned_to_type, :instructions],
business_payloads: [:description, values: {}]
)
end

Expand Down
3 changes: 1 addition & 2 deletions app/mappers/queue_mapper.rb
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,7 @@ class QueueMapper
comment: :debmcom,
completion_date: :decomp,
timeliness: :detrem,
one_touch_initiative: :de1touch,
deteam: :deteam
one_touch_initiative: :de1touch
}.freeze

DEFICIENCIES = {
Expand Down
23 changes: 3 additions & 20 deletions app/models/attorney_case_review.rb
Original file line number Diff line number Diff line change
Expand Up @@ -44,20 +44,6 @@ def update_in_caseflow!
update_issue_dispositions_in_caseflow!
end

def update_in_vacols_and_caseflow!
update_in_vacols!
task.update!(status: Constants.TASK_STATUSES.completed)

if task.assigned_by_id != reviewing_judge_id
task.parent.update(assigned_to_id: reviewing_judge_id)
end
task.parent.update(assigned_by_id: task.assigned_to_id)
if note && !note.nil?
labeled_note = note_label + note
task.parent.append_instruction(labeled_note)
end
end

def written_by_name
attorney.full_name
end
Expand All @@ -77,10 +63,11 @@ def note_label

def reassign_case_to_judge_in_vacols!
attorney.fail_if_no_access_to_legacy_task!(vacols_id)

AttorneyCaseReview.repository.reassign_case_to_judge!(
vacols_id: vacols_id,
created_in_vacols_date: created_in_vacols_date,
judge_vacols_user_id: reviewing_judge,
judge_vacols_user_id: reviewing_judge.vacols_uniq_id,
decass_attrs: {
work_product: work_product,
document_id: document_id,
Expand All @@ -101,11 +88,7 @@ def complete(params)
ActiveRecord::Base.multi_transaction do
record = create(params)
if record.valid?
if record.legacy? && (record&.task&.type == "AttorneyTask" || record&.task&.type == "AttorneyRewriteTask")
record.update_in_vacols_and_caseflow!
else
record.legacy? ? record.update_in_vacols! : record.update_in_caseflow!
end
record.legacy? ? record.update_in_vacols! : record.update_in_caseflow!
record.associate_with_appeal
end
record
Expand Down
9 changes: 1 addition & 8 deletions app/models/concerns/case_review_concern.rb
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ def appeal

def associate_with_appeal
# Populate appeal_* column values based on original implementation that uses `task_id`
update(
update_attributes(
appeal_id: appeal_through_task_id&.id,
appeal_type: appeal_through_task_id&.class&.name
)
Expand All @@ -41,8 +41,6 @@ def legacy?
# use column values if they exist
return appeal.is_a?(LegacyAppeal) if appeal_association?

return task.appeal.is_a?(LegacyAppeal) if task&.appeal

# fall back to original implementation
(task_id =~ LegacyTask::TASK_ID_REGEX) ? true : false
end
Expand All @@ -52,17 +50,12 @@ def legacy?
def vacols_id
# use column values if they exist
return appeal.vacols_id if appeal_association?
return task.appeal.vacols_id if task&.appeal.is_a?(LegacyAppeal)

# fall back to original implementation
task_id&.split("-", 2)&.first
end

def created_in_vacols_date
if task&.appeal.is_a?(LegacyAppeal)
return VACOLS::Decass.where(defolder: task.appeal.vacols_id).max_by(&:deadtim).deadtim
end

task_id&.split("-", 2)&.second&.to_date
end

Expand Down
7 changes: 4 additions & 3 deletions app/models/judge_case_assignment_to_attorney.rb
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ class JudgeCaseAssignmentToAttorney
attr_accessor :appeal_id, :assigned_to, :task_id, :assigned_by, :judge

validates :assigned_by, :assigned_to, presence: true
validates :task_id, format: { with: /\A[0-9A-Z]+-[0-9]{4}-[0-9]{2}-[0-9]{2}\Z/i }, allow_blank: true
validate :assigned_by_role_is_valid

def assign_to_attorney!
Expand All @@ -22,14 +23,14 @@ def assign_to_attorney!
end

def reassign_to_attorney!
vacols_id = LegacyAppeal.find(appeal_id).vacols_id
MetricsService.record("VACOLS: reassign_case_to_attorney #{vacols_id}",
service: :vacols,
name: "reassign_case_to_attorney") do
self.class.repository.reassign_case_to_attorney!(
judge: assigned_by,
attorney: assigned_to,
vacols_id: vacols_id
vacols_id: vacols_id,
created_in_vacols_date: created_in_vacols_date
)
end
end
Expand All @@ -43,7 +44,7 @@ def vacols_id
end

def last_case_assignment
VACOLS::CaseAssignment.latest_task_for_appeal(LegacyAppeal.find(appeal_id).vacols_id)
VACOLS::CaseAssignment.latest_task_for_appeal(vacols_id)
end

private
Expand Down
12 changes: 1 addition & 11 deletions app/models/judge_case_review.rb
Original file line number Diff line number Diff line change
Expand Up @@ -45,11 +45,6 @@ def update_in_caseflow!
update_issue_dispositions_in_caseflow!
end

def update_in_vacols_and_caseflow!
update_in_vacols!
task.update!(status: Constants.TASK_STATUSES.completed)
end

private

def sign_decision_or_create_omo!
Expand Down Expand Up @@ -89,12 +84,7 @@ def complete(params)
ActiveRecord::Base.multi_transaction do
record = create(params)
if record.valid?

if record.legacy? && record.task&.type == "JudgeDecisionReviewTask"
record.update_in_vacols_and_caseflow!
else
record.legacy? ? record.update_in_vacols! : record.update_in_caseflow!
end
record.legacy? ? record.update_in_vacols! : record.update_in_caseflow!
record.associate_with_appeal
end
record
Expand Down
Loading

0 comments on commit 6613e58

Please sign in to comment.