1package App::Netdisco::Web::Plugin::AdminTask::JobQueue; 2 3use Dancer ':syntax'; 4use Dancer::Plugin::Ajax; 5use Dancer::Plugin::DBIC; 6use Dancer::Plugin::Auth::Extensible; 7 8use App::Netdisco::Web::Plugin; 9use App::Netdisco::JobQueue qw/jq_log jq_delete/; 10 11register_admin_task({ 12 tag => 'jobqueue', 13 label => 'Job Queue', 14}); 15 16ajax '/ajax/control/admin/jobqueue/del' => require_role admin => sub { 17 send_error('Missing job', 400) unless param('job'); 18 jq_delete( param('job') ); 19}; 20 21ajax '/ajax/control/admin/jobqueue/delall' => require_role admin => sub { 22 jq_delete(); 23}; 24 25ajax '/ajax/content/admin/jobqueue' => require_role admin => sub { 26 content_type('text/html'); 27 template 'ajax/admintask/jobqueue.tt', { 28 results => [ jq_log ], 29 }, { layout => undef }; 30}; 31 32true; 33