From 1ed1b897c4a53bfcdfdbe0102e80cb6c9823c6fd Mon Sep 17 00:00:00 2001
From: Eric Pugh
Date: Fri, 8 Dec 2023 10:57:09 -0500
Subject: [PATCH] now mark judge later to a rating!
---
app/controllers/books_controller.rb | 27 ++++++++++++++++++++++-----
app/views/books/edit.html.erb | 21 +++++++++++++++++++--
config/routes.rb | 2 ++
3 files changed, 43 insertions(+), 7 deletions(-)
diff --git a/app/controllers/books_controller.rb b/app/controllers/books_controller.rb
index 27d94b8ae..b4765bd79 100644
--- a/app/controllers/books_controller.rb
+++ b/app/controllers/books_controller.rb
@@ -4,10 +4,12 @@
class BooksController < ApplicationController
before_action :find_book,
only: [ :show, :edit, :update, :destroy, :combine, :assign_anonymous, :delete_ratings_by_assignee,
- :reset_unrateable, :reset_judge_later, :delete_query_doc_pairs_below_position ]
+ :reset_unrateable, :reset_judge_later, :delete_query_doc_pairs_below_position,
+ :eric_steered_us_wrong ]
before_action :check_book,
only: [ :show, :edit, :update, :destroy, :combine, :assign_anonymous, :delete_ratings_by_assignee,
- :reset_unrateable, :reset_judge_later, :delete_query_doc_pairs_below_position ]
+ :reset_unrateable, :reset_judge_later, :delete_query_doc_pairs_below_position,
+ :eric_steered_us_wrong ]
before_action :find_user, only: [ :reset_unrateable, :reset_judge_later, :delete_ratings_by_assignee ]
@@ -196,14 +198,29 @@ def reset_judge_later
end
def delete_query_doc_pairs_below_position
- threshold = params[:threshold]
- query_doc_pairs_to_delete = @book.query_doc_pairs.where('position > ?', threshold)
+ position = params[:position]
+ query_doc_pairs_to_delete = @book.query_doc_pairs.where('position > ?', position)
query_doc_pairs_count = query_doc_pairs_to_delete.count
query_doc_pairs_to_delete.destroy_all
UpdateCaseJob.perform_later @book
redirect_to book_path(@book),
- :notice => "Deleted #{query_doc_pairs_count} query/doc pairs below position #{threshold}."
+ :notice => "Deleted #{query_doc_pairs_count} query/doc pairs below position #{position}."
+ end
+
+ def eric_steered_us_wrong
+ rating = params[:rating]
+ judgements_to_update = @book.judgements.where(judge_later: true)
+ judgements_to_update_count = judgements_to_update.count
+ judgements_to_update.each do |judgement|
+ judgement.judge_later = false
+ judgement.rating = rating
+ judgement.save
+ end
+
+ UpdateCaseJob.perform_later @book
+ redirect_to book_path(@book),
+ :notice => "Mapped #{judgements_to_update_count} judgements to have rating #{rating}."
end
private
diff --git a/app/views/books/edit.html.erb b/app/views/books/edit.html.erb
index e5c686142..d7c24866f 100644
--- a/app/views/books/edit.html.erb
+++ b/app/views/books/edit.html.erb
@@ -105,8 +105,8 @@
<%= form_for(@book, url: delete_query_doc_pairs_below_position_book_path(@book), method: :delete, data: { confirm: "Are you sure?" }) do |form| %>
- <%= form.label :threshold, class: 'form-label' %>
- <%= select_tag "threshold", options_for_select(@book.query_doc_pairs.distinct.pluck(:position)), required: true, prompt: "Please select threshold to delete below", class: 'form-control' %>
+ <%= form.label :position, class: 'form-label' %>
+ <%= select_tag "position", options_for_select(@book.query_doc_pairs.distinct.pluck(:position).sort), required: true, prompt: "Please select threshold to delete below", class: 'form-control' %>
@@ -115,6 +115,23 @@
<% end %>
+
Assign Rating to Judge Later Judgements
+
+
+ Currently it can be easier to skip judgements that you know are good (or bad) using the Judge Later option, and then come back and give them a rating.
+
+<%= form_for(@book, url: eric_steered_us_wrong(@book), method: :patch, data: { confirm: "Are you sure?" }) do |form| %>
+
+ <%= form.label :rating, class: 'form-label' %>
+ <%= select_tag "rating", options_for_select(@book.scorer.scale.sort), required: true, prompt: "Please select rating to assign", class: 'form-control' %>
+
+
+
+ <%= form.submit 'Assign Rating and Clear Judge Later' %>
+
+
+<% end %>
+
<%= button_to 'Cancel', @book, method: :get %>
diff --git a/config/routes.rb b/config/routes.rb
index dad2ac860..6d7b75f1b 100755
--- a/config/routes.rb
+++ b/config/routes.rb
@@ -59,6 +59,8 @@
delete 'reset_judge_later/:user_id', action: :reset_judge_later, as: :reset_judge_later
delete 'delete_query_doc_pairs_below_position', action: :delete_query_doc_pairs_below_position,
as: :delete_query_doc_pairs_below_position
+ patch 'eric_steered_us_wrong',
+ action: :eric_steered_us_wrong, as: :eric_steered_us_wrong
end
end