// expects: site_id & name abbreviated_name url latitude longitude [login_base max_slices]
//////////////////////////////////////// slices
+$known_actions []= "delete-slice";
+// expects: slice_id
$known_actions []= "update-slice";
// expects: slice_id, name, description, url
$known_actions []= "renew-slice";
// expects: slice_id & node_ids
$known_actions []= 'add-nodes-in-slice';
// expects: slice_id & node_ids
+$known_actions []= 'delete-slice-tags';
+// expects: slice_tag_id
+$known_actions []= 'add-slice-tag';
+// expects: slice_id & tag_type_id & node_id & nodegroup_id
//////////////////////////////////////// tag types
$known_actions []= "update-tag-type";
case 'become-person' : {
$plc->BecomePerson (intval($person_id));
- plc_redirect (l_persons());
+ plc_redirect (l_person(intval($person_id)));
}
case 'delete-person' : {
$key_id = $api->AddPersonKey( intval( $person_id ), array( "key_type"=> 'ssh', "key"=> $key ) );
- if ( $key_id == 1)
+ if ( $key_id >= 1)
drupal_set_message ("New key added");
else
drupal_set_error("Could not add key, please verify your SSH file content\n" . $api->error());
}
//////////////////////////////////////////////////////////// slices
+ case 'delete-slice': {
+ $slice_id = $_POST['slice_id'];
+ if ($api->DeleteSlice( intval( $slice_id )) == 1 ) {
+ drupal_set_message("Slice $slice_id deleted");
+ plc_redirect(l_slices());
+ } else {
+ drupal_set_error("Could not delete slice $slice_id " . $api->error());
+ }
+ break;
+ }
+
case 'update-slice': {
$slice_id = $_POST['slice_id'];
$name = $_POST['name'];
break;
}
+ case 'delete-slice-tags': {
+ $slice_id = intval($_POST['slice_id']);
+ $slice_tag_ids = array_map("intval", $_POST['slice_tag_ids']);
+ $count = 0;
+ $success = true;
+ foreach($slice_tag_ids as $slice_tag_id) {
+ if ($api->DeleteSliceTag($slice_tag_id)) $count += 1;
+ else {
+ drupal_set_error("Could not delete slice tag: slice_tag_id = $slice_tag_id");
+ $success = false;
+ }
+ }
+ if ($success)
+ drupal_set_message ("Deleted $count slice tag(s)");
+ plc_redirect(l_slice($slice_id) . "&show_tags=true" );
+ break;
+ }
+
+ case 'add-slice-tag': {
+ $slice_id = intval($_POST['slice_id']);
+ $tag_type_id = intval($_POST['tag_type_id']);
+ $value = $_POST['value'];
+ $node_id = intval($_POST['node_id']);
+ $nodegroup_id = intval($_POST['nodegroup_id']);
+
+ $result = null;
+ if ($node_id) {
+ $result = $api->AddSliceTag($slice_id, $tag_type_id, $value, $node_id);
+ } elseif ($nodegroup_id) {
+ $result = $api->AddSliceTag($slice_id, $tag_type_id, $value, null, $nodegroup_id);
+ } else {
+ $result = $api->AddSliceTag($slice_id, $tag_type_id, $value);
+ }
+ if ($result)
+ drupal_set_message ("Added slice tag.");
+ else
+ drupal_set_error("Could not add slice tag");
+ if ($_POST['sliver_action'])
+ plc_redirect(l_sliver($node_id,$slice_id));
+ else
+ plc_redirect(l_slice($slice_id) . "&show_tags=true" );
+ break;
+ }
+
//////////////////////////////////////////////////////////// tag types
case 'update-tag-type': {
$tagname = $_POST['tagname'];
$min_role_id= intval( $_POST['min_role_id'] );
$description= $_POST['description'];
- $category= $_POST['category'];
+ $category= $_POST['category'];
// make tag_type_fields dict
$tag_type_fields= array( "min_role_id" => $min_role_id,