Compare commits
2 Commits
ae8c99272f
...
a01ac2203e
| Author | SHA1 | Date | |
|---|---|---|---|
| a01ac2203e | |||
| e1c6a90830 |
36
Gemfile.lock
36
Gemfile.lock
@@ -90,7 +90,7 @@ GEM
|
|||||||
bindex (0.8.1)
|
bindex (0.8.1)
|
||||||
bootsnap (1.18.6)
|
bootsnap (1.18.6)
|
||||||
msgpack (~> 1.2)
|
msgpack (~> 1.2)
|
||||||
brakeman (7.0.2)
|
brakeman (7.1.0)
|
||||||
racc
|
racc
|
||||||
builder (3.3.0)
|
builder (3.3.0)
|
||||||
capybara (3.40.0)
|
capybara (3.40.0)
|
||||||
@@ -138,7 +138,7 @@ GEM
|
|||||||
image_processing (1.14.0)
|
image_processing (1.14.0)
|
||||||
mini_magick (>= 4.9.5, < 6)
|
mini_magick (>= 4.9.5, < 6)
|
||||||
ruby-vips (>= 2.0.17, < 3)
|
ruby-vips (>= 2.0.17, < 3)
|
||||||
importmap-rails (2.1.0)
|
importmap-rails (2.2.0)
|
||||||
actionpack (>= 6.0.0)
|
actionpack (>= 6.0.0)
|
||||||
activesupport (>= 6.0.0)
|
activesupport (>= 6.0.0)
|
||||||
railties (>= 6.0.0)
|
railties (>= 6.0.0)
|
||||||
@@ -153,7 +153,7 @@ GEM
|
|||||||
jbuilder (2.13.0)
|
jbuilder (2.13.0)
|
||||||
actionview (>= 5.0.0)
|
actionview (>= 5.0.0)
|
||||||
activesupport (>= 5.0.0)
|
activesupport (>= 5.0.0)
|
||||||
json (2.12.2)
|
json (2.13.0)
|
||||||
kamal (2.7.0)
|
kamal (2.7.0)
|
||||||
activesupport (>= 7.0)
|
activesupport (>= 7.0)
|
||||||
base64 (~> 0.2)
|
base64 (~> 0.2)
|
||||||
@@ -209,18 +209,18 @@ GEM
|
|||||||
net-protocol
|
net-protocol
|
||||||
net-ssh (7.3.0)
|
net-ssh (7.3.0)
|
||||||
nio4r (2.7.4)
|
nio4r (2.7.4)
|
||||||
nokogiri (1.18.8)
|
nokogiri (1.18.9)
|
||||||
mini_portile2 (~> 2.8.2)
|
mini_portile2 (~> 2.8.2)
|
||||||
racc (~> 1.4)
|
racc (~> 1.4)
|
||||||
nokogiri (1.18.8-aarch64-linux-gnu)
|
nokogiri (1.18.9-aarch64-linux-gnu)
|
||||||
racc (~> 1.4)
|
racc (~> 1.4)
|
||||||
nokogiri (1.18.8-arm-linux-gnu)
|
nokogiri (1.18.9-arm-linux-gnu)
|
||||||
racc (~> 1.4)
|
racc (~> 1.4)
|
||||||
nokogiri (1.18.8-arm64-darwin)
|
nokogiri (1.18.9-arm64-darwin)
|
||||||
racc (~> 1.4)
|
racc (~> 1.4)
|
||||||
nokogiri (1.18.8-x86_64-darwin)
|
nokogiri (1.18.9-x86_64-darwin)
|
||||||
racc (~> 1.4)
|
racc (~> 1.4)
|
||||||
nokogiri (1.18.8-x86_64-linux-gnu)
|
nokogiri (1.18.9-x86_64-linux-gnu)
|
||||||
racc (~> 1.4)
|
racc (~> 1.4)
|
||||||
ostruct (0.6.3)
|
ostruct (0.6.3)
|
||||||
pagy (9.3.5)
|
pagy (9.3.5)
|
||||||
@@ -296,12 +296,12 @@ GEM
|
|||||||
rdoc (6.14.2)
|
rdoc (6.14.2)
|
||||||
erb
|
erb
|
||||||
psych (>= 4.0.0)
|
psych (>= 4.0.0)
|
||||||
redis (5.4.0)
|
redis (5.4.1)
|
||||||
redis-client (>= 0.22.0)
|
redis-client (>= 0.22.0)
|
||||||
redis-client (0.25.1)
|
redis-client (0.25.1)
|
||||||
connection_pool
|
connection_pool
|
||||||
regexp_parser (2.10.0)
|
regexp_parser (2.10.0)
|
||||||
reline (0.6.1)
|
reline (0.6.2)
|
||||||
io-console (~> 0.5)
|
io-console (~> 0.5)
|
||||||
rexml (3.4.1)
|
rexml (3.4.1)
|
||||||
rubocop (1.78.0)
|
rubocop (1.78.0)
|
||||||
@@ -370,12 +370,12 @@ GEM
|
|||||||
actionpack (>= 6.1)
|
actionpack (>= 6.1)
|
||||||
activesupport (>= 6.1)
|
activesupport (>= 6.1)
|
||||||
sprockets (>= 3.0.0)
|
sprockets (>= 3.0.0)
|
||||||
sqlite3 (2.7.2-aarch64-linux-gnu)
|
sqlite3 (2.7.3-aarch64-linux-gnu)
|
||||||
sqlite3 (2.7.2-arm-linux-gnu)
|
sqlite3 (2.7.3-arm-linux-gnu)
|
||||||
sqlite3 (2.7.2-arm64-darwin)
|
sqlite3 (2.7.3-arm64-darwin)
|
||||||
sqlite3 (2.7.2-x86-linux-gnu)
|
sqlite3 (2.7.3-x86-linux-gnu)
|
||||||
sqlite3 (2.7.2-x86_64-darwin)
|
sqlite3 (2.7.3-x86_64-darwin)
|
||||||
sqlite3 (2.7.2-x86_64-linux-gnu)
|
sqlite3 (2.7.3-x86_64-linux-gnu)
|
||||||
sshkit (1.24.0)
|
sshkit (1.24.0)
|
||||||
base64
|
base64
|
||||||
logger
|
logger
|
||||||
@@ -476,4 +476,4 @@ DEPENDENCIES
|
|||||||
web-console
|
web-console
|
||||||
|
|
||||||
BUNDLED WITH
|
BUNDLED WITH
|
||||||
2.5.17
|
2.7.1
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
class JobsController < ApplicationController
|
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_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
|
# GET /jobs or /jobs.json
|
||||||
def index
|
def index
|
||||||
@@ -53,6 +53,12 @@ class JobsController < ApplicationController
|
|||||||
render partial: "jobs/cancel_button", locals: { job: @job }
|
render partial: "jobs/cancel_button", locals: { job: @job }
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def badge
|
||||||
|
@job = Job.find(params[:id])
|
||||||
|
|
||||||
|
render partial: "jobs/badge", locals: { job: @job }
|
||||||
|
end
|
||||||
|
|
||||||
private
|
private
|
||||||
|
|
||||||
def broadcast_update_status_cards_and_start_next_job_button
|
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">
|
<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">
|
<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">
|
<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>
|
</span>
|
||||||
</td>
|
</td>
|
||||||
<td class="p-2 py-3 text-center">
|
<td class="p-2 py-3 text-center">
|
||||||
<% if job.pdf.attached? && job.pdf.previewable? %>
|
<% if job.pdf.attached? && job.pdf.previewable? %>
|
||||||
<%= image_tag(url_for(job.pdf.blob.preview(resize_to_limit: [100, 100])), class: "shadow") %>
|
<%= 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 %>
|
<% end %>
|
||||||
</td>
|
</td>
|
||||||
<td class="p-2 py-3">
|
<td class="p-2 py-3">
|
||||||
|
|||||||
@@ -23,7 +23,7 @@
|
|||||||
<th class="w-1 p-2 py-3 text-center">Action</th>
|
<th class="w-1 p-2 py-3 text-center">Action</th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</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 } %>
|
<%= render partial: "job_tr", collection: @jobs, as: :job, locals: { no_turbo_stream: @no_turbo_stream } %>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
|
|||||||
@@ -14,6 +14,7 @@ Rails.application.routes.draw do
|
|||||||
member do
|
member do
|
||||||
patch "cancel"
|
patch "cancel"
|
||||||
get "cancel_button"
|
get "cancel_button"
|
||||||
|
get "badge"
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
resource :profile, only: [ :show, :edit, :destroy ]
|
resource :profile, only: [ :show, :edit, :destroy ]
|
||||||
|
|||||||
2
db/schema.rb
generated
2
db/schema.rb
generated
@@ -10,7 +10,7 @@
|
|||||||
#
|
#
|
||||||
# It's strongly recommended that you check this file into your version control system.
|
# It's strongly recommended that you check this file into your version control system.
|
||||||
|
|
||||||
ActiveRecord::Schema[7.2].define(version: 2024_08_26_144016) do
|
ActiveRecord::Schema[8.0].define(version: 2024_08_26_144016) do
|
||||||
create_table "active_storage_attachments", force: :cascade do |t|
|
create_table "active_storage_attachments", force: :cascade do |t|
|
||||||
t.string "name", null: false
|
t.string "name", null: false
|
||||||
t.string "record_type", null: false
|
t.string "record_type", null: false
|
||||||
|
|||||||
Reference in New Issue
Block a user