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