diff --git a/app/controllers/admin/jobs_controller.rb b/app/controllers/admin/jobs_controller.rb index 15e6520..77df9ca 100644 --- a/app/controllers/admin/jobs_controller.rb +++ b/app/controllers/admin/jobs_controller.rb @@ -3,7 +3,8 @@ class Admin::JobsController < ApplicationController before_action :authorize! def index - @jobs = Job.all - @pagy, @records = pagy(@jobs, limit: 20) + @q = Job.ransack(params[:q]) + @q.sorts = "id asc" if @q.sorts.empty? + @pagy, @records = pagy(@q.result(distinct: true), limit: 20) end end diff --git a/app/models/job.rb b/app/models/job.rb index 3933035..12bf803 100644 --- a/app/models/job.rb +++ b/app/models/job.rb @@ -122,6 +122,14 @@ class Job < ApplicationRecord end end + def self.ransackable_attributes(auth_object = nil) + [ "created_at", "id", "costumer_firstname", "costumer_lastname", "pdf.", "number_of_plans_a0", "number_of_plans_a1", "number_of_plans_a2", "number_of_plans_a3", "costum_qm_plan", "cost", "status" ] + end + + def self.ransackable_associations(auth_object = nil) + [ "pdf_blob" ] + end + private def printed_pages_changes? diff --git a/app/views/admin/jobs/_job_tr.html.erb b/app/views/admin/jobs/_job_tr.html.erb index 724cc6e..abe168c 100644 --- a/app/views/admin/jobs/_job_tr.html.erb +++ b/app/views/admin/jobs/_job_tr.html.erb @@ -6,22 +6,21 @@ <% end %> - - <% if job.pdf.attached? && job.pdf.previewable? %> - <%= link_to job.pdf, target: "_blank", target: "_top" do %> - - <%= icon("eye", class:"icon") %> - - <% end %> - <% end %> + + <%= link_to job.costumer_firstname, admin_user_path(job.costumer), target: "_top" %> - <%= link_to job.costumer_fullname, admin_user_path(job.costumer), target: "_top" %> + <%= link_to job.costumer_lastname, admin_user_path(job.costumer), target: "_top" %> <% if job.pdf.attached? %> <%#= link_to job.pdf.filename, rails_blob_path(job.pdf, disposition: "attachment") %> <%= link_to truncate(job.pdf.filename.to_s, length: 45), job.pdf, download:true, target: "_top" %> + <% if job.pdf.previewable? %> + <%= link_to job.pdf, target: "_blank", target: "_top" do %> + <%= icon("eye", class:"icon text-hsrm-gray size-6 inline") %> + <% end %> + <% end %> <%= link_to job.pdf, download:true, target: "_top" do %> <%= icon("document-arrow-down", class: "text-hsrm-gray size-6 inline", title: "Download") %> @@ -32,20 +31,20 @@ <% Job::AVAILABLE_PAGE_FORMATS.each do |din| %> - - <%= job.public_send("number_of_plans_#{din}") if job.respond_to? "number_of_plans_#{din}" %> - + <%= job.public_send("number_of_plans_#{din}") if job.respond_to? "number_of_plans_#{din}" %> <% end %> - - <%= number_with_delimiter job.costum_qm_plan.round(2) %> m² - + <%= number_with_delimiter job.costum_qm_plan.round(2) %> m² - - <%= number_to_currency job.cost, locale: :de %> - + <%= number_to_currency job.cost, locale: :de %> + + + <%= l job.created_at.localtime.to_date %> + + + <%= l job.paid_at.localtime.to_date if job.paid_at %> diff --git a/app/views/admin/jobs/index.html.erb b/app/views/admin/jobs/index.html.erb index aff9a70..94d38aa 100644 --- a/app/views/admin/jobs/index.html.erb +++ b/app/views/admin/jobs/index.html.erb @@ -1,22 +1,27 @@ <%= turbo_frame_tag "admin_jobs" do %>

Alle Druckaufträge

- <%== pagy_nav(@pagy) %> +
+ <%== pagy_nav(@pagy) %> + <%== pagy_info(@pagy, item_name: "Users") %> +
- - - - - - - - - - - + + + + + + + + + + + + + @@ -24,6 +29,9 @@
ID Vorschau Auftraggeber PDF A0 A1 A2 A3 no DIN Kosten Status <%= sort_link(@q, :id, "ID", ) %><%= sort_link(@q, :costumer_firstname, "Vorname") %><%= sort_link(@q, :costumer_lastname, "Nachname") %><%= sort_link(@q, :pdf_blob_filename, "PDF") %><%= sort_link(@q, :number_of_plans_a0, "A0") %><%= sort_link(@q, :number_of_plans_a1, "A1") %><%= sort_link(@q, :number_of_plans_a2, "A2") %><%= sort_link(@q, :number_of_plans_a3, "A3") %><%= sort_link(@q, :costum_qm_plan, "no DIN") %><%= sort_link(@q, :cost, "Kosten") %><%= sort_link(@q, :created_at, "Erstellt am") %><%= sort_link(@q, :created_at, "Bezahlt am") %><%= sort_link(@q, :status, "Status") %>
- <%== pagy_nav(@pagy) %> +
+ <%== pagy_nav(@pagy) %> + <%== pagy_info(@pagy, item_name: "Users") %> +
<% end %> diff --git a/config/initializers/active_storage.rb b/config/initializers/active_storage.rb new file mode 100644 index 0000000..8e2011a --- /dev/null +++ b/config/initializers/active_storage.rb @@ -0,0 +1,5 @@ +ActiveSupport.on_load(:active_storage_blob) do + def self.ransackable_attributes(auth_object = nil) + %w[filename] + end +end