added remove button
authorDobrica Pavlinusic <dpavlin@rot13.org>
Fri, 28 Aug 2009 19:39:54 +0000 (19:39 +0000)
committerDobrica Pavlinusic <dpavlin@rot13.org>
Fri, 28 Aug 2009 19:39:54 +0000 (19:39 +0000)
lib/PXElator/httpd.pm

index 1f6d412..8473665 100644 (file)
@@ -210,24 +210,26 @@ warn "XXX pids = ", dump( $daemons::pids );
        } 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;
                        }
@@ -257,7 +259,10 @@ warn dump( $ip_int, $from, $to );
                        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
                                ;