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