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