From 58758d3975c6a2c7df3fe6e1c961c3ffc04512ae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20B=C3=B6hm?= Date: Thu, 15 Aug 2024 22:40:52 +0200 Subject: [PATCH] Optimized sql query with include --- app/controllers/jobs_controller.rb | 11 ++++++----- app/controllers/operator/jobs_controller.rb | 12 ++++++------ 2 files changed, 12 insertions(+), 11 deletions(-) diff --git a/app/controllers/jobs_controller.rb b/app/controllers/jobs_controller.rb index 2bbd47b..7269c29 100644 --- a/app/controllers/jobs_controller.rb +++ b/app/controllers/jobs_controller.rb @@ -44,11 +44,12 @@ class JobsController < ApplicationController def broadcast_update_status_cards_and_start_next_job_button # FIXME: Duplicate code, see operator/jobs_controller, move to the model? - openjobs = Job.open.order(:created_at) - printingjobs = Job.printing.order(:status_changed_at) - pickupjobs = Job.pickup.order(:status_changed_at) - paidjobs = Job.paid.status_changed_today.order(:status_changed_at) - canceledjobs = Job.canceled.status_changed_today.order(:status_changed_at) + openjobs = Job.open.with_attached_pdf.order(:created_at) + printingjobs = Job.printing.with_attached_pdf.order(:status_changed_at) + pickupjobs = Job.pickup.with_attached_pdf.order(:status_changed_at) + paidjobs = Job.paid.with_attached_pdf.status_changed_today.order(:status_changed_at) + canceledjobs = Job.canceled.with_attached_pdf.status_changed_today.order(:status_changed_at) + paidcanceledjobs = Job.paidcanceled.with_attached_pdf.status_changed_today.order(:status_changed_at) Turbo::StreamsChannel.broadcast_replace_to "operator_jobs", target: "openjobs_status_card", partial: "operator/jobs/job_status_card", locals: { jobs: openjobs, status: :open } Turbo::StreamsChannel.broadcast_replace_to "operator_jobs", target: "printingjobs_status_card", partial: "operator/jobs/job_status_card", locals: { jobs: printingjobs, status: :printing } Turbo::StreamsChannel.broadcast_replace_to "operator_jobs", target: "pickupjobs_status_card", partial: "operator/jobs/job_status_card", locals: { jobs: pickupjobs, status: :pickup } diff --git a/app/controllers/operator/jobs_controller.rb b/app/controllers/operator/jobs_controller.rb index c339c18..97007ef 100644 --- a/app/controllers/operator/jobs_controller.rb +++ b/app/controllers/operator/jobs_controller.rb @@ -100,12 +100,12 @@ class Operator::JobsController < ApplicationController def set_job_lists # FIXME: Duplicate code, see jobs_controller, move to the model, Mabye moving to model? - @openjobs = Job.open.order(:created_at) - @printingjobs = Job.printing.order(:status_changed_at) - @pickupjobs = Job.pickup.order(:status_changed_at) - @paidjobs = Job.paid.status_changed_today.order(:status_changed_at) - @canceledjobs = Job.canceled.status_changed_today.order(:status_changed_at) - @paidcanceledjobs = Job.paidcanceled.status_changed_today.order(:status_changed_at) + @openjobs = Job.open.with_attached_pdf.order(:created_at) + @printingjobs = Job.printing.with_attached_pdf.order(:status_changed_at) + @pickupjobs = Job.pickup.with_attached_pdf.order(:status_changed_at) + @paidjobs = Job.paid.with_attached_pdf.status_changed_today.order(:status_changed_at) + @canceledjobs = Job.canceled.with_attached_pdf.status_changed_today.order(:status_changed_at) + @paidcanceledjobs = Job.paidcanceled.with_attached_pdf.status_changed_today.order(:status_changed_at) end # Only allow a list of trusted parameters through.