ckp
[plewww.git] / planetlab / common / actions.php
index 9c519b8..6105b1b 100644 (file)
@@ -67,6 +67,8 @@ $known_actions []= "update-site";
 //     expects:        site_id & name abbreviated_name url latitude longitude [login_base max_slices]
 
 //////////////////////////////////////// slices
+$known_actions []= "update-slice";     
+//     expects:        slice_id, name, description, url
 $known_actions []= "renew-slice";
 //     expects:        slice_id & expires
 $known_actions []= 'remove-persons-from-slice';
@@ -434,6 +436,25 @@ switch ($action) {
  }
 
 //////////////////////////////////////////////////////////// slices
+ case 'update-slice': {
+   $slice_id = $_POST['slice_id'];
+   $name = $_POST['name'];
+   $description= $_POST['description'];
+   $url= $_POST['url'];
+
+   $fields= array( "description"=>$description, "url"=>$url );
+   $api->UpdateSlice( intval( $slice_id ), $fields );
+   $error= $api->error();
+
+   if( empty( $error ) ) {
+     drupal_set_message("Update slice $name");
+     plc_redirect(l_slice($slice_id));
+   } else {
+     drupal_set_error($error);
+   }
+   break;
+ }
+
  case 'renew-slice': {
    $slice_id = intval ($_POST['slice_id']);    
    $expires = intval ($_POST['expires']);
@@ -473,7 +494,7 @@ switch ($action) {
      drupal_set_message ("Deleted $counter person(s)");
    else
      drupal_set_error ("Could not delete all selected persons, only $counter were removed");
-   plc_redirect(l_slice($slice_id));
+   plc_redirect(l_slice($slice_id) . " &show_users=true");
    break;
  }
 
@@ -483,7 +504,7 @@ switch ($action) {
    
    $success=true;
    $counter=0;
-   foreach( $person_ids as $person_id ) {
+   foreach ($person_ids as $person_id) {
      if ($api->AddPersonToSlice(intval($person_id),$slice_id) != 1) 
        $success=false;
      else
@@ -493,7 +514,7 @@ switch ($action) {
      drupal_set_message ("Added $counter person(s)");
    else
      drupal_set_error ("Could not add all selected persons, only $counter were added");
-   plc_redirect(l_slice($slice_id));
+   plc_redirect(l_slice($slice_id) . "&show_users=true" );
    break;
  }