|
|
|
|
@ -1,6 +1,7 @@ |
|
|
|
|
package MJB::Web::Controller::Dashboard; |
|
|
|
|
use Mojo::Base 'Mojolicious::Controller', -signatures; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
sub index ($c) { |
|
|
|
|
push @{$c->stash->{blogs}}, |
|
|
|
|
$c->stash->{person}->search_related('blogs')->all; |
|
|
|
|
@ -30,11 +31,7 @@ sub do_blog_post_remove ( $c ) { |
|
|
|
|
|
|
|
|
|
$jekyll->remove_markdown_file( $post ); |
|
|
|
|
|
|
|
|
|
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->deploy_blog( $blog ); |
|
|
|
|
|
|
|
|
|
$c->flash( confirmation => "That post has been removed." ); |
|
|
|
|
$c->redirect_to( $c->url_for( 'show_dashboard_blog_posts', { id => $blog->id } ) ); |
|
|
|
|
@ -58,11 +55,7 @@ sub do_blog_post_edit ( $c ) { |
|
|
|
|
|
|
|
|
|
$jekyll->write_post( $post ); |
|
|
|
|
|
|
|
|
|
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->deploy_blog( $blog ); |
|
|
|
|
|
|
|
|
|
$c->flash( confirmation => "Updated <strong>$title</strong>!" ); |
|
|
|
|
$c->redirect_to( $c->url_for( 'show_dashboard_blog_posts', { id => $blog->id } ) ); |
|
|
|
|
@ -107,11 +100,7 @@ sub do_blog_post ( $c ) { |
|
|
|
|
|
|
|
|
|
$jekyll->write_post( $post ); |
|
|
|
|
|
|
|
|
|
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->deploy_blog( $blog ); |
|
|
|
|
|
|
|
|
|
$c->flash( confirmation => "Created <strong>$title</strong>!" ); |
|
|
|
|
$c->redirect_to( $c->url_for( 'show_dashboard_blog_posts', { id => $blog->id } ) ); |
|
|
|
|
@ -141,6 +130,8 @@ sub do_blog_settings ($c) { |
|
|
|
|
$jekyll->config->data->{email} = $email; |
|
|
|
|
|
|
|
|
|
$jekyll->write_config; |
|
|
|
|
|
|
|
|
|
$c->deploy_blog( $blog ); |
|
|
|
|
|
|
|
|
|
$c->flash( confirmation => "The settings have been updated!!" ); |
|
|
|
|
$c->redirect_to( $c->url_for( 'show_dashboard_blog_settings', { id => $blog->id } ) ); |
|
|
|
|
@ -167,6 +158,8 @@ sub do_blog_config ( $c ) { |
|
|
|
|
|
|
|
|
|
$jekyll->write_config; |
|
|
|
|
|
|
|
|
|
$c->deploy_blog( $blog ); |
|
|
|
|
|
|
|
|
|
$c->flash( confirmation => "The config has been updated!!" ); |
|
|
|
|
$c->redirect_to( $c->url_for( 'show_dashboard_blog_config', { id => $blog->id } ) ); |
|
|
|
|
} |
|
|
|
|
@ -192,11 +185,7 @@ 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 ], { |
|
|
|
|
notes => { '_bid_' . $blog->id => 1 }, |
|
|
|
|
priority => $blog->build_priority, |
|
|
|
|
}); |
|
|
|
|
$blog->create_related( 'builds', { job_id => $build_job_id } ); |
|
|
|
|
$c->deploy_blog( $blog ); |
|
|
|
|
|
|
|
|
|
$c->flash( confirmation => "Removed " . $media_file->basename ); |
|
|
|
|
$c->redirect_to( $c->url_for( 'show_dashboard_blog_media', { id => $blog->id } ) ); |
|
|
|
|
@ -221,11 +210,7 @@ sub do_blog_media ( $c ) { |
|
|
|
|
"Add media " . $upload->filename |
|
|
|
|
); |
|
|
|
|
|
|
|
|
|
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->deploy_blog( $blog ); |
|
|
|
|
|
|
|
|
|
$c->flash( confirmation => "Uploaded file!" ); |
|
|
|
|
$c->redirect_to( $c->url_for( 'show_dashboard_blog_media', { id => $blog->id } ) ); |
|
|
|
|
@ -251,6 +236,8 @@ sub do_blog_history ( $c ) { |
|
|
|
|
if ( $old_commit ) { |
|
|
|
|
$jekyll->revert_commit( $commit ); |
|
|
|
|
|
|
|
|
|
$c->deploy_blog( $blog ); |
|
|
|
|
|
|
|
|
|
$c->flash( confirmation => "Undid $commit!" ); |
|
|
|
|
$c->redirect_to( $c->url_for( 'show_dashboard_blog_history', { id => $blog->id } ) ); |
|
|
|
|
} |
|
|
|
|
@ -287,11 +274,7 @@ sub do_blog_page_remove ( $c ) { |
|
|
|
|
|
|
|
|
|
$jekyll->remove_markdown_file( $page ); |
|
|
|
|
|
|
|
|
|
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->deploy_blog( $blog ); |
|
|
|
|
|
|
|
|
|
$c->flash( confirmation => "That page has been removed." ); |
|
|
|
|
$c->redirect_to( $c->url_for( 'show_dashboard_blog_pages', { id => $blog->id } ) ); |
|
|
|
|
@ -316,11 +299,7 @@ sub do_blog_page_edit ( $c ) { |
|
|
|
|
|
|
|
|
|
$jekyll->write_post( $blog_page ); |
|
|
|
|
|
|
|
|
|
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->deploy_blog( $blog ); |
|
|
|
|
|
|
|
|
|
$c->flash( confirmation => "Updated Page " . $blog_page->filename . "!" ); |
|
|
|
|
$c->redirect_to( $c->url_for( 'show_dashboard_blog_pages', { id => $blog->id } ) ); |
|
|
|
|
@ -346,15 +325,10 @@ sub do_blog_page ( $c ) { |
|
|
|
|
|
|
|
|
|
$jekyll->write_post( $page ); |
|
|
|
|
|
|
|
|
|
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->deploy_blog( $blog ); |
|
|
|
|
|
|
|
|
|
$c->flash( confirmation => "Created Page " . $page->filename . "!" ); |
|
|
|
|
$c->redirect_to( $c->url_for( 'show_dashboard_blog_pages', { id => $blog->id } ) ); |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
1; |
|
|
|
|
|