parent
6132c9b409
commit
5feb6e1d91
4 changed files with 174 additions and 0 deletions
@ -0,0 +1,13 @@ |
||||
% layout 'standard', title => 'Dashboard', sb_active => 'admin'; |
||||
|
||||
%= include 'admin/_nav', page => 'alerts' |
||||
|
||||
%= include '_base/status_window'; |
||||
|
||||
% for my $alert ( $c->db->system_notes( { is_read => 0 } )->all ) { |
||||
<div class="mt-3 alert alert-success" role="alert"> |
||||
<%= $alert->content %> |
||||
<%= $alert->source %> |
||||
</div> |
||||
% } |
||||
|
||||
@ -0,0 +1,152 @@ |
||||
% layout 'standard', title => 'Dashboard', sb_active => 'admin'; |
||||
|
||||
%# if ( $c->minion->jobs({ states => [ 'inactive', 'active' ], notes => [ '_bid_' . $blog->id ] } )->total >= 1 ) { |
||||
%# $c->stash->{http_refresh} = 5; |
||||
%# } |
||||
|
||||
%= include 'admin/_nav', page => 'jobs' |
||||
|
||||
%= include '_base/status_window'; |
||||
|
||||
% if ( $c->stash->{success} ) { |
||||
<div style="margin-top: 2em" class="alert alert-success" role="alert"> |
||||
<%= $c->stash->{success_message} %> |
||||
</div> |
||||
% } |
||||
|
||||
% if ( $c->stash->{errors} ) { |
||||
<div style="margin-top: 2em" class="alert alert-danger" role="alert"> |
||||
There were errors with your request that could not be resolved: |
||||
<ul> |
||||
% for my $error ( @{$c->stash->{errors}} ) { |
||||
<li><%= $error %></li> |
||||
% } |
||||
</ul> |
||||
</div> |
||||
% } |
||||
|
||||
%# Job Panel % |
||||
% my $index = 0; |
||||
% foreach my $build ( $c->db->admin_jobs->all ) { |
||||
% $index++; |
||||
% if ( my $build_job = $c->minion->job( $build->{job_id} ) ) { |
||||
% my $job = $build_job->info; |
||||
|
||||
% if ( $job->{state} eq 'finished' ) { |
||||
<div class="card mt-4"> |
||||
<div class="card-header alert-success"> |
||||
%= include '_svg/checkmark' |
||||
Build job <%= $build->{id} %>/<%= $job->{task} %> completed successfully. (Queued: <%= $build->{date} %>) |
||||
<button class="btn" data-bs-toggle="collapse" data-bs-target="#job_window_<%= $job->{id} %>"> |
||||
%= include '_svg/chevron' |
||||
</button> |
||||
</div> |
||||
<div id="job_window_<%= $job->{id} %>" class="card-body <%= $index == 1 ? '' : 'collapse' %>"> |
||||
|
||||
%= include 'dashboard/_milestone', milestone => { is_complete => $job->{notes}->{is_deploy_complete}, text => 'Deploy to Webserver' }; |
||||
|
||||
%= include 'dashboard/_milestone', milestone => { is_complete => $job->{notes}->{is_build_complete}, text => 'Build Website' }; |
||||
|
||||
%= include 'dashboard/_milestone', milestone => { is_complete => $job->{notes}->{is_clone_complete}, text => 'Clone Repo & Check Settings' }; |
||||
|
||||
<hr /> |
||||
|
||||
<button class="btn btn-sm btn-primary" data-bs-toggle="collapse" data-bs-target="#job_log_window_<%= $job->{id} %>">View Logs</button> |
||||
|
||||
<div id="job_log_window_<%= $job->{id} %>" class="card-body collapse"> |
||||
<hr /> |
||||
<pre> |
||||
% for my $line ( @{$job->{notes}{logs}} ) { |
||||
<%= "$line\n" =%> |
||||
% } |
||||
</pre> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
% } elsif ( $job->{state} eq 'inactive' ) { |
||||
<div class="card mb-4 alert-warning"> |
||||
<div class="card-header"> |
||||
<div class="spinner-grow spinner-grow-sm" role="status"> |
||||
<span class="visually-hidden">Waiting...</span> |
||||
</div> |
||||
Build <%= $build->{id} %> pending build. (Queued: <%= $build->{date} %>) |
||||
</div> |
||||
</div> |
||||
|
||||
% } elsif ( $job->{state} eq 'failed' ) { |
||||
<div class="card mt-4"> |
||||
<div class="card-header alert-warning"> |
||||
%= include '_svg/failed' |
||||
Build <%= $build->{id} %> failed. (Queued: <%= $build->{date} %>) |
||||
<button class="btn" data-bs-toggle="collapse" data-bs-target="#job_window_<%= $job->{id} %>"> |
||||
%= include '_svg/chevron' |
||||
</button> |
||||
</div> |
||||
<div id="job_window_<%= $job->{id} %>" class="card-body <%= $index == 1 ? '' : 'collapse' %>"> |
||||
|
||||
%= include 'dashboard/_website/milestone', milestone => { is_complete => $job->{notes}->{is_deploy_complete}, text => 'Deploy to Webserver' }; |
||||
|
||||
%= include 'dashboard/_website/milestone', milestone => { is_complete => $job->{notes}->{is_build_complete}, text => 'Build Website' }; |
||||
|
||||
%= include 'dashboard/_website/milestone', milestone => { is_complete => $job->{notes}->{is_clone_complete}, text => 'Clone Repo & Check Settings' }; |
||||
|
||||
<hr /> |
||||
|
||||
% if ( ! ref $job->{result} ) { |
||||
<p class="text-danger"><strong>System Error: <%= $job->{result} %></strong></p> |
||||
% } else { |
||||
<p class="text-danger"><strong>Error: <%= $job->{result}{error} %></strong></p> |
||||
% } |
||||
|
||||
<button class="btn" data-bs-toggle="collapse" data-bs-target="#job_log_window_<%= $job->{id} %>">View Logs</button> |
||||
|
||||
<div id="job_log_window_<%= $job->{id} %>" class="card-body collapse"> |
||||
<hr /> |
||||
<pre> |
||||
% for my $line ( @{$job->{notes}{logs}} ) { |
||||
<%= "$line\n" =%> |
||||
% } |
||||
</pre> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
|
||||
% } elsif ( $job->{state} eq 'active' ) { |
||||
<div class="card mt-4"> |
||||
<div class="card-header alert-warning"> |
||||
<div class="spinner-grow spinner-grow-sm" role="status"> |
||||
<span class="visually-hidden">Building...</span> |
||||
</div> |
||||
|
||||
Building job <%= $build->{id} %>/<%= $job->{task} %>... (Queued: <%= $build->{date} %>) |
||||
|
||||
</div> |
||||
<div id="job_window_<%= $job->{id} %>" class="card-body"> |
||||
|
||||
%= include 'dashboard/_milestone', milestone => { is_complete => $job->{notes}->{is_deploy_complete}, text => 'Deploy to Webserver' }; |
||||
|
||||
%= include 'dashboard/_milestone', milestone => { is_complete => $job->{notes}->{is_build_complete}, text => 'Build Website' }; |
||||
|
||||
%= include 'dashboard/_milestone', milestone => { is_complete => $job->{notes}->{is_clone_complete}, text => 'Clone Repo & Check Settings' }; |
||||
|
||||
<hr /> |
||||
|
||||
<div id="job_log_window_<%= $job->{id} %>" class="card-body"> |
||||
<hr /> |
||||
<pre> |
||||
% for my $line ( @{$job->{notes}{logs}} ) { |
||||
<%= "$line\n" =%> |
||||
% } |
||||
</pre> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
|
||||
% } else { |
||||
Job in unknown state: <%= $build->{job_id} %> |
||||
%= $job->{state} |
||||
% } |
||||
% } else { |
||||
Job not found: <%= $build->{job_id} %> |
||||
% } |
||||
% } |
||||
Loading…
Reference in new issue