final migration

This commit is contained in:
Oliver Gorwits
2014-05-10 23:27:11 +01:00
parent 5413e34e83
commit 4620deff33
3 changed files with 25 additions and 9 deletions

View File

@@ -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)

View File

@@ -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;

View File

@@ -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 {