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") %>
+
- | 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") %> |
@@ -24,6 +29,9 @@
- <%== 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
|