#889 implement renumber in the web interface
This commit is contained in:
		| @@ -7,7 +7,7 @@ use Dancer::Plugin::Auth::Extensible; | ||||
|  | ||||
| use NetAddr::IP qw/:rfc3021 :lower/; | ||||
| use App::Netdisco::JobQueue 'jq_insert'; | ||||
| use App::Netdisco::Util::Device 'delete_device'; | ||||
| use App::Netdisco::Util::Device qw/delete_device renumber_device/; | ||||
|  | ||||
| sub add_job { | ||||
|     my ($action, $device, $subaction) = @_; | ||||
| @@ -46,6 +46,21 @@ foreach my $action (@{ setting('job_prio')->{high} }, | ||||
|     }; | ||||
| } | ||||
|  | ||||
| ajax qr{/ajax/control/admin/(?:\w+/)?renumber} => require_role setting('defanged_admin') => sub { | ||||
|     send_error('Missing device', 400) unless param('device'); | ||||
|     send_error('Missing new IP', 400) unless param('newip'); | ||||
|  | ||||
|     my $device = NetAddr::IP->new(param('device')); | ||||
|     send_error('Bad device', 400) | ||||
|       if ! $device or $device->addr eq '0.0.0.0'; | ||||
|  | ||||
|     my $newip = NetAddr::IP->new(param('newip')); | ||||
|     send_error('Bad new IP', 400) | ||||
|       if ! $newip or $newip->addr eq '0.0.0.0'; | ||||
|  | ||||
|     return renumber_device( $device->addr, $newip->addr ); | ||||
| }; | ||||
|  | ||||
| ajax qr{/ajax/control/admin/(?:\w+/)?delete} => require_role setting('defanged_admin') => sub { | ||||
|     send_error('Missing device', 400) unless param('device'); | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user