} elsif ( $path =~ m!^/client(?:/$RE{net}{IPv4}{-keep})?! ) {
my $ip = $1;
- if ( my $new_ip = $param->{change_ip} ) {
- client::change_ip( $ip, $new_ip );
- $ip = $new_ip;
+ if ( $param->{action} eq 'remove' ) {
+ client::remove( $param->{change_ip} );
+ print $client redirect("$url/client");
+ return;
+ } elsif ( $param->{action} eq 'change' ) {
+ if ( my $new_ip = client::change_ip( $ip, $param->{change_ip} ) ) {
+ print $client redirect("$url/client#$new_ip");
+ return;
+ }
}
if ( ! $ip ) {
my $peer_ip = $client->peerhost;
-warn "XXX peer_ip $peer_ip";
-
my $netmask = ip::to_int $server::netmask;
my $network = ip::to_int $server::ip & $netmask;
my ( $from, $to ) = ( $network | $server::ip_from, $network | $server::ip_to );
my $ip_int = ip::to_int $peer_ip;
-warn dump( $ip_int, $from, $to );
-
- # show edit for our our class
+ # show edit for clients in our dhcp range
if ( $ip_int >= ( $network | $server::ip_from ) && $ip_int <= ( $network | $server::ip_to ) ) {
$ip = $peer_ip;
}
print $client ok
, qq|<form method=get>|
, html::table( 2, @table ),
- , qq|<input type=submit value=change></form>|
+ , qq|
+ <input type=submit name=action value=change>
+ <input type=submit name=action value=remove style="color: red">
+ </form>|
, $deploy
;