final migration
This commit is contained in:
		| @@ -18,6 +18,7 @@ our @EXPORT_OK = qw/ | ||||
|   jq_defer | ||||
|   jq_complete | ||||
|   jq_insert | ||||
|   jq_delete | ||||
| /; | ||||
| our %EXPORT_TAGS = ( all => \@EXPORT_OK ); | ||||
|  | ||||
| @@ -91,6 +92,11 @@ Returns true if successful else returns false. | ||||
|  | ||||
| Adds the passed jobs to the queue. | ||||
|  | ||||
| =head2 jq_delete( $id? ) | ||||
|  | ||||
| If passed the ID of a job, deletes it from the queue. Otherwise deletes ALL | ||||
| jobs from the queue. | ||||
|  | ||||
| =head1 Job Instance Interface | ||||
|  | ||||
| =head2 id (auto) | ||||
|   | ||||
| @@ -18,6 +18,7 @@ our @EXPORT_OK = qw/ | ||||
|   jq_defer | ||||
|   jq_complete | ||||
|   jq_insert | ||||
|   jq_delete | ||||
| /; | ||||
| our %EXPORT_TAGS = ( all => \@EXPORT_OK ); | ||||
|  | ||||
| @@ -177,4 +178,19 @@ sub jq_insert { | ||||
|   return $happy; | ||||
| } | ||||
|  | ||||
| sub jq_delete { | ||||
|   my $id = shift; | ||||
|  | ||||
|   if ($id) { | ||||
|       schema('netdisco')->txn_do(sub { | ||||
|         schema('netdisco')->resultset('Admin')->find($id)->delete(); | ||||
|       }); | ||||
|   } | ||||
|   else { | ||||
|       schema('netdisco')->txn_do(sub { | ||||
|         schema('netdisco')->resultset('Admin')->delete(); | ||||
|       }); | ||||
|   } | ||||
| } | ||||
|  | ||||
| true; | ||||
|   | ||||
| @@ -6,7 +6,7 @@ use Dancer::Plugin::DBIC; | ||||
| use Dancer::Plugin::Auth::Extensible; | ||||
|  | ||||
| use App::Netdisco::Web::Plugin; | ||||
| use App::Netdisco::JobQueue 'jq_log'; | ||||
| use App::Netdisco::JobQueue qw/jq_log jq_delete/; | ||||
|  | ||||
| register_admin_task({ | ||||
|   tag => 'jobqueue', | ||||
| @@ -15,17 +15,11 @@ register_admin_task({ | ||||
|  | ||||
| ajax '/ajax/control/admin/jobqueue/del' => require_role admin => sub { | ||||
|     send_error('Missing job', 400) unless param('job'); | ||||
|  | ||||
|     schema('netdisco')->txn_do(sub { | ||||
|       my $device = schema('netdisco')->resultset('Admin') | ||||
|         ->search({job => param('job')})->delete; | ||||
|     }); | ||||
|     jq_delete( param('job') ); | ||||
| }; | ||||
|  | ||||
| ajax '/ajax/control/admin/jobqueue/delall' => require_role admin => sub { | ||||
|     schema('netdisco')->txn_do(sub { | ||||
|       my $device = schema('netdisco')->resultset('Admin')->delete; | ||||
|     }); | ||||
|     jq_delete(); | ||||
| }; | ||||
|  | ||||
| ajax '/ajax/content/admin/jobqueue' => require_role admin => sub { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user