Fixed job number to work with broadcast in jobs#index
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
class JobsController < ApplicationController
|
||||
skip_before_action :authenticate_user!, only: [ :index, :cancel_button ]
|
||||
skip_before_action :authenticate_user!, only: [ :index, :cancel_button, :badge ]
|
||||
skip_before_action :verified_user!, only: [ :index ]
|
||||
skip_verify_authorized only: [ :index, :new, :create, :cancel_button ]
|
||||
skip_verify_authorized only: [ :index, :new, :create, :cancel_button, :badge]
|
||||
|
||||
# GET /jobs or /jobs.json
|
||||
def index
|
||||
@@ -53,6 +53,12 @@ class JobsController < ApplicationController
|
||||
render partial: "jobs/cancel_button", locals: { job: @job }
|
||||
end
|
||||
|
||||
def badge
|
||||
@job = Job.find(params[:id])
|
||||
|
||||
render partial: "jobs/badge", locals: { job: @job }
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def broadcast_update_status_cards_and_start_next_job_button
|
||||
|
||||
3
app/views/jobs/_badge.html.erb
Normal file
3
app/views/jobs/_badge.html.erb
Normal file
@@ -0,0 +1,3 @@
|
||||
<%= turbo_frame_tag dom_id(job, :badge) do %>
|
||||
<%= link_to_if user_signed_in? && allowed_to?(:show, job, namespace: :Operator), job.id, operator_job_path(job) %>
|
||||
<% end %>
|
||||
@@ -1,13 +1,22 @@
|
||||
<tr id="<%= dom_id job %>" class="bg-status-<%= job.status %>-light odd:bg-opacity-25 even:bg-opacity-15 text-hsrm-gray whitespace-nowrap hover:bg-opacity-30" data-stream-enter-class="animate-flash-increase">
|
||||
<td class="p-2 py-3 text-center">
|
||||
<span class="badge badge-xl text-status-<%= job.status %> bg-status-<%= job.status %>-light rounded-lg shadow">
|
||||
<%= link_to_if user_signed_in? && allowed_to?(:show, job, namespace: :Operator), job.id, operator_job_path(job) %>
|
||||
<% # TODO: Refactor to helper function %>
|
||||
<% if defined?(no_turbo_stream) && no_turbo_stream %>
|
||||
<%= turbo_frame_tag dom_id(job, :badge) do %>
|
||||
<%= render partial: "jobs/badge", locals: { job: job } %>
|
||||
<% end %>
|
||||
<% else %>
|
||||
<%= turbo_frame_tag dom_id(job, :badge), src: badge_job_path(job), loading: 'lazy' do %>
|
||||
<%= icon("ellipsis-horizontal-circle", class: "icon icon-disabled size-10", title: "Loading...") %>
|
||||
<% end %>
|
||||
<% end %>
|
||||
</span>
|
||||
</td>
|
||||
<td class="p-2 py-3 text-center">
|
||||
<% if job.pdf.attached? && job.pdf.previewable? %>
|
||||
<%= image_tag(url_for(job.pdf.blob.preview(resize_to_limit: [100, 100])), class: "shadow") %>
|
||||
<%#= image_tag job.pdf.preview(resize_to_limit: [50, 50]), class: "mx-auto" %>
|
||||
<%# = image_tag job.pdf.preview(resize_to_limit: [50, 50]), class: "mx-auto" %>
|
||||
<% end %>
|
||||
</td>
|
||||
<td class="p-2 py-3">
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
<th class="w-1 p-2 py-3 text-center">Action</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody id='jobs' class="divide-y divivde-gray-300">
|
||||
<tbody id="jobs" class="divide-y divivde-gray-300">
|
||||
<%= render partial: "job_tr", collection: @jobs, as: :job, locals: { no_turbo_stream: @no_turbo_stream } %>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
@@ -14,6 +14,7 @@ Rails.application.routes.draw do
|
||||
member do
|
||||
patch "cancel"
|
||||
get "cancel_button"
|
||||
get "badge"
|
||||
end
|
||||
end
|
||||
resource :profile, only: [ :show, :edit, :destroy ]
|
||||
|
||||
Reference in New Issue
Block a user