move admin tasks and remove JobControl package

This commit is contained in:
Oliver Gorwits
2013-05-14 20:38:54 +01:00
parent 74bc0023df
commit a00f9b5c2e
3 changed files with 29 additions and 26 deletions

View File

@@ -16,7 +16,6 @@ use App::Netdisco::Web::Report;
use App::Netdisco::Web::AdminTask;
use App::Netdisco::Web::TypeAhead;
use App::Netdisco::Web::PortControl;
use App::Netdisco::Web::JobControl;
sub _load_web_plugins {
my $plugin_list = shift;

View File

@@ -1,6 +1,35 @@
package App::Netdisco::Web::AdminTask;
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 {
my ($tag) = splat;

View File

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