Optimized sql query with include

This commit is contained in:
2024-08-15 22:40:52 +02:00
parent f672f8972e
commit 58758d3975
2 changed files with 12 additions and 11 deletions

View File

@@ -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 }

View File

@@ -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.