more nested routes
This commit is contained in:
parent
6909497996
commit
2afec412bb
5 changed files with 12 additions and 9 deletions
|
|
@ -1,10 +1,10 @@
|
|||
class JobLogsController < ApplicationController
|
||||
before_action :set_server, only: [ :index ], if: -> { params[:server_id].present? }
|
||||
before_action :set_job_log, only: [ :show ]
|
||||
|
||||
def index
|
||||
@job_logs = if params[:server_id]
|
||||
server = current_user.servers.find(params[:server_id])
|
||||
server.job_logs.recent
|
||||
@job_logs = if @server
|
||||
@server.job_logs.recent
|
||||
else
|
||||
JobLog.where(server_id: current_user.servers.pluck(:id))
|
||||
.or(JobLog.where(server_id: nil))
|
||||
|
|
@ -18,6 +18,10 @@ class JobLogsController < ApplicationController
|
|||
|
||||
private
|
||||
|
||||
def set_server
|
||||
@server = current_user.servers.find(params[:server_id])
|
||||
end
|
||||
|
||||
def set_job_log
|
||||
@job_log = JobLog.find(params[:id])
|
||||
# Authorize: user must own the server or job must be global (no server)
|
||||
|
|
|
|||
|
|
@ -1,10 +1,8 @@
|
|||
h1 Job Logs
|
||||
|
||||
- if params[:server_id]
|
||||
- if @server
|
||||
p
|
||||
= link_to "← Back to Server", server_path(params[:server_id]), class: "btn btn--secondary"
|
||||
= link_to "View All Jobs", job_logs_path, class: "btn btn--secondary"
|
||||
- else
|
||||
= link_to "← Back to Server", server_path(@server), class: "btn btn--secondary"
|
||||
p.text-muted Showing all job logs for your servers
|
||||
|
||||
- if @job_logs.any?
|
||||
|
|
|
|||
|
|
@ -51,6 +51,6 @@ h1 Job Log Details
|
|||
p.text-muted No log output available.
|
||||
|
||||
.actions
|
||||
= link_to "← Back to Jobs", @job_log.server ? job_logs_path(server_id: @job_log.server_id) : job_logs_path, class: "btn btn--secondary"
|
||||
= link_to "← Back to Jobs", @job_log.server ? server_job_logs_path(@job_log.server) : job_logs_path, class: "btn btn--secondary"
|
||||
- if @job_log.server
|
||||
= link_to "View Server", server_path(@job_log.server), class: "btn btn--secondary"
|
||||
|
|
|
|||
|
|
@ -49,7 +49,7 @@
|
|||
td= job_log.started_at&.strftime("%H:%M:%S") || "-"
|
||||
td= job_log.duration ? "#{job_log.duration.round(1)}s" : "-"
|
||||
td= link_to "View", job_log_path(job_log), class: "btn btn--small"
|
||||
p= link_to "View All Jobs →", job_logs_path(server_id: @server.id), class: "link"
|
||||
p= link_to "View All Jobs →", server_job_logs_path(@server), class: "link"
|
||||
- else
|
||||
p.text-muted No jobs executed yet.
|
||||
|
||||
|
|
|
|||
|
|
@ -21,6 +21,7 @@ Rails.application.routes.draw do
|
|||
resources :job_logs, only: [ :index, :show ]
|
||||
|
||||
resources :servers, only: [ :index, :show, :destroy ] do
|
||||
resources :job_logs, only: [ :index ]
|
||||
member do
|
||||
post :spawn
|
||||
post :start
|
||||
|
|
|
|||
Loading…
Reference in a new issue