Build panel improvements.

master
Blog Manager Robot 3 years ago
parent a6697bfc7b
commit afcd9939f9
  1. 6
      Web/lib/MJB/Web/Controller/Blog.pm
  2. 20
      Web/lib/MJB/Web/Controller/Dashboard.pm
  3. 13
      Web/templates/dashboard/_blog_nav.html.ep
  4. 6
      Web/templates/dashboard/blog_builds.html.ep
  5. 5
      Web/templates/layouts/standard.html.ep

@ -62,7 +62,8 @@ sub do_create ($c) {
# Schedule a job to deploy the website
my $ssl_job_id = $c->minion->enqueue( 'create_ssl_cert', [ $blog->id ], {
notes => { '_mjb_bid_' . $blog->id => 1 },
notes => { '_bid_' . $blog->id => 1 },
priority => $blog->build_priority,
queue => 'certbot',
});
$blog->create_related( 'builds', { job_id => $ssl_job_id } );
@ -101,7 +102,8 @@ sub do_settings ( $c ) {
$jekyll->write_config;
my $build_job_id = $c->minion->enqueue( 'deploy_blog', [ $blog->id ], {
notes => { '_mjb_bid_' . $blog->id => 1 },
notes => { '_bid_' . $blog->id => 1 },
priority => $blog->build_priority,
});
$blog->create_related( 'builds', { job_id => $build_job_id } );

@ -79,7 +79,10 @@ sub do_blog_post ( $c ) {
$jekyll->write_post( $post );
my $build_job_id = $c->minion->enqueue( 'deploy_blog', [ $blog->id ] );
my $build_job_id = $c->minion->enqueue( 'deploy_blog', [ $blog->id ], {
notes => { '_bid_' . $blog->id => 1 },
priority => $blog->build_priority,
});
$blog->create_related( 'builds', { job_id => $build_job_id } );
$c->flash( confirmation => "Updated <strong>$title</strong>!" );
@ -145,7 +148,10 @@ sub do_blog_post_create ( $c ) {
$jekyll->write_post( $post );
my $build_job_id = $c->minion->enqueue( 'deploy_blog', [ $blog->id ] );
my $build_job_id = $c->minion->enqueue( 'deploy_blog', [ $blog->id ], {
notes => { '_bid_' . $blog->id => 1 },
priority => $blog->build_priority,
});
$blog->create_related( 'builds', { job_id => $build_job_id } );
$c->flash( confirmation => "Created <strong>$title</strong>!" );
@ -295,7 +301,10 @@ sub do_blog_media_remove( $c ) {
$jekyll->remove_file( $media_file->to_string, "Removed media file" . $media_file->basename );
}
my $build_job_id = $c->minion->enqueue( 'deploy_blog', [ $blog->id ] );
my $build_job_id = $c->minion->enqueue( 'deploy_blog', [ $blog->id ], {
notes => { '_bid_' . $blog->id => 1 },
priority => $blog->build_priority,
});
$blog->create_related( 'builds', { job_id => $build_job_id } );
$c->flash( confirmation => "Removed " . $media_file->basename );
@ -330,7 +339,10 @@ sub do_blog_media ( $c ) {
"Add media " . $upload->filename
);
my $build_job_id = $c->minion->enqueue( 'deploy_blog', [ $blog->id ] );
my $build_job_id = $c->minion->enqueue( 'deploy_blog', [ $blog->id ], {
notes => { '_bid_' . $blog->id => 1 },
priority => $blog->build_priority,
});
$blog->create_related( 'builds', { job_id => $build_job_id } );
$c->flash( confirmation => "Uploaded file!" );

@ -38,12 +38,19 @@
% }
<li class="nav-item">
<a class="nav-link <%= $page eq 'settings' ? 'active' : '' %>" href="<%= $c->url_for( 'show_dashboard_blog_settings' ) %>">Settings</a>
<a class="nav-link <%= $page eq 'media' ? 'active' : '' %>" href="<%= $c->url_for( 'show_dashboard_blog_media' ) %>">Media</a>
</li>
<li class="nav-item">
<a class="nav-link <%= $page eq 'builds' ? 'active' : '' %>" href="<%= $c->url_for( 'show_dashboard_blog_builds' ) %>">Builds</a>
<a class="nav-link <%= $page eq 'builds' ? 'active' : '' %>" href="<%= $c->url_for( 'show_dashboard_blog_builds' ) %>">
% if ( $page ne 'builds' && $c->minion->jobs({ states => [ 'inactive', 'active' ], notes => [ '_bid_' . $blog->id ] } )->total >= 1 ) {
<div class="spinner-grow spinner-grow-sm text-warning" role="status">
<span class="visually-hidden">Builds Running</span>
</div>
% }
Builds
</a>
</li>
<li class="nav-item">
<a class="nav-link <%= $page eq 'media' ? 'active' : '' %>" href="<%= $c->url_for( 'show_dashboard_blog_media' ) %>">Media</a>
<a class="nav-link <%= $page eq 'settings' ? 'active' : '' %>" href="<%= $c->url_for( 'show_dashboard_blog_settings' ) %>">Settings</a>
</li>
</ul>

@ -1,5 +1,9 @@
% layout 'standard', title => 'Dashboard', sb_active => 'dashboard';
% if ( $c->minion->jobs({ states => [ 'inactive', 'active' ], notes => [ '_bid_' . $blog->id ] } )->total >= 1 ) {
% $c->stash->{http_refresh} = 5;
% }
%= include 'dashboard/_blog_nav', page => 'builds'
% if ( my $confirmation = flash 'confirmation' ) {

@ -27,9 +27,14 @@
<!-- ChartJS -->
<script src="https://cdn.jsdelivr.net/npm/chart.js@3.7.1/dist/chart.min.js"></script>
% if ( $c->stash->{http_refresh} ) {
<meta http-equiv="refresh" content="<%= $c->stash->{http_refresh} %>">
% }
%#= include '_base/bootstrap-datepicker'
</head>
<body>
<header class="navbar navbar-dark sticky-top bg-dark flex-md-nowrap p-0 shadow">

Loading…
Cancel
Save