move admin tasks and remove JobControl package
This commit is contained in:
@@ -16,7 +16,6 @@ use App::Netdisco::Web::Report;
|
|||||||
use App::Netdisco::Web::AdminTask;
|
use App::Netdisco::Web::AdminTask;
|
||||||
use App::Netdisco::Web::TypeAhead;
|
use App::Netdisco::Web::TypeAhead;
|
||||||
use App::Netdisco::Web::PortControl;
|
use App::Netdisco::Web::PortControl;
|
||||||
use App::Netdisco::Web::JobControl;
|
|
||||||
|
|
||||||
sub _load_web_plugins {
|
sub _load_web_plugins {
|
||||||
my $plugin_list = shift;
|
my $plugin_list = shift;
|
||||||
|
|||||||
@@ -1,6 +1,35 @@
|
|||||||
package App::Netdisco::Web::AdminTask;
|
package App::Netdisco::Web::AdminTask;
|
||||||
|
|
||||||
use Dancer ':syntax';
|
use Dancer ':syntax';
|
||||||
|
use Dancer::Plugin::AJAX;
|
||||||
|
use Dancer::Plugin::DBIC;
|
||||||
|
|
||||||
|
sub add_discover_job {
|
||||||
|
my $ip = NetAddr::IP::Lite->new(shift);
|
||||||
|
return unless $ip
|
||||||
|
and $ip->addr ne '0.0.0.0';
|
||||||
|
|
||||||
|
schema('netdisco')->resultset('Admin')->create({
|
||||||
|
device => $ip->addr,
|
||||||
|
action => 'discover',
|
||||||
|
status => 'queued',
|
||||||
|
username => session('user'),
|
||||||
|
userip => request->remote_address,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
ajax '/ajax/control/admin/discover' => sub {
|
||||||
|
return unless var('user') and var('user')->admin;
|
||||||
|
add_discover_job(param('device'));
|
||||||
|
};
|
||||||
|
|
||||||
|
post '/admin/discover' => sub {
|
||||||
|
return unless var('user') and var('user')->admin;
|
||||||
|
add_discover_job(param('device'));
|
||||||
|
|
||||||
|
status(302);
|
||||||
|
header(Location => uri_for('/admin/jobqueue')->path_query());
|
||||||
|
};
|
||||||
|
|
||||||
get '/admin/*' => sub {
|
get '/admin/*' => sub {
|
||||||
my ($tag) = splat;
|
my ($tag) = splat;
|
||||||
|
|||||||
@@ -1,25 +0,0 @@
|
|||||||
package App::Netdisco::Web::JobControl;
|
|
||||||
|
|
||||||
use Dancer ':syntax';
|
|
||||||
use Dancer::Plugin::DBIC;
|
|
||||||
|
|
||||||
post '/admin/discover' => sub {
|
|
||||||
return unless var('user') and var('user')->admin;
|
|
||||||
|
|
||||||
my $ip = NetAddr::IP::Lite->new(param('device'));
|
|
||||||
return unless $ip
|
|
||||||
and $ip->addr ne '0.0.0.0';
|
|
||||||
|
|
||||||
schema('netdisco')->resultset('Admin')->create({
|
|
||||||
device => $ip->addr,
|
|
||||||
action => 'discover',
|
|
||||||
status => 'queued',
|
|
||||||
username => session('user'),
|
|
||||||
userip => request->remote_address,
|
|
||||||
});
|
|
||||||
|
|
||||||
status(302);
|
|
||||||
header(Location => uri_for('/admin/jobqueue')->path_query());
|
|
||||||
};
|
|
||||||
|
|
||||||
true;
|
|
||||||
Reference in New Issue
Block a user