From 0bc70de3e529be974c7bdfca38c2f7461c1241b6 Mon Sep 17 00:00:00 2001 From: 24c02 <163450896+24c02@users.noreply.github.com> Date: Wed, 21 Jan 2026 21:47:31 -0500 Subject: [PATCH] allow taking amount from queue --- app/controllers/letter/queues_controller.rb | 4 +++- app/models/letter/queue.rb | 6 ++++-- app/views/letter/queues/show.html.erb | 6 +++++- 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/app/controllers/letter/queues_controller.rb b/app/controllers/letter/queues_controller.rb index 8e08e73..05fb093 100644 --- a/app/controllers/letter/queues_controller.rb +++ b/app/controllers/letter/queues_controller.rb @@ -65,8 +65,10 @@ class Letter::QueuesController < ApplicationController unless @letter_queue.letters.any? flash[:error] = "no letters?" redirect_to @letter_queue + return end - batch = @letter_queue.make_batch(user: current_user) + limit = params[:limit].presence&.to_i + batch = @letter_queue.make_batch(user: current_user, limit:) User::UpdateTasksJob.perform_now(current_user) flash[:success] = "now do something with it!" redirect_to process_letter_batch_path(batch, uft: @letter_queue.user_facing_title, template: @letter_queue.template) diff --git a/app/models/letter/queue.rb b/app/models/letter/queue.rb index 7949bd2..c85544d 100644 --- a/app/models/letter/queue.rb +++ b/app/models/letter/queue.rb @@ -76,7 +76,7 @@ class Letter::Queue < ApplicationRecord letter end - def make_batch(user:) + def make_batch(user:, limit: nil) ActiveRecord::Base.transaction do batch = letter_batches.build( aasm_state: :fields_mapped, @@ -93,7 +93,9 @@ class Letter::Queue < ApplicationRecord user: user, ) batch.save! - letters.queued.each do |letter| + queued_letters = letters.queued + queued_letters = queued_letters.limit(limit) if limit.present? + queued_letters.each do |letter| letter.batch_id = batch.id letter.batch_from_queue letter.save! diff --git a/app/views/letter/queues/show.html.erb b/app/views/letter/queues/show.html.erb index ae9f1ad..fc473f6 100644 --- a/app/views/letter/queues/show.html.erb +++ b/app/views/letter/queues/show.html.erb @@ -88,7 +88,11 @@ <%= render partial: 'batches/letters_collection', locals: { letters: @letters } %> <% if @letter_queue.letters.queued.any? %>