<?php
-// $Id$
-
// Require login
require_once 'plc_login.php';
$run_level = $node['run_level'];
$site_id= $node['site_id'];
$model= $node['model'];
+$node_type= $node['node_type'];
$version= $node['version'];
-$node_type = $node['node_type'];
// arrays of ids of node info
$slice_ids= $node['slice_ids'];
// extra privileges to admins, and (pi||tech) on this site
-$privileges = (plc_is_admin () && $local_peer) || ( plc_in_site($site_id) && ( plc_is_pi() || plc_is_tech()));
+$admin_privileges=(plc_is_admin () && $local_peer);
+$privileges = $admin_privileges || ( plc_in_site($site_id) && ( plc_is_pi() || plc_is_tech()));
$tabs=array();
// available actions
//$details->th_td("Hostname",$hostname,"hostname");
$details->th_td("Hostname",$hostname);
$details->th_td("Model",$model,"model");
+// reservation ?
+if ( $admin_privileges) {
+ $reservation_value = $details->form->select_html("node_type",
+ node_type_selectors ($api, $node_type));
+} else {
+ $reservation_value = node_type_display ($api,$node_type);
+}
+$details->th_td("Reservation",$reservation_value);
+
$details->tr_submit("submit","Update Node");
$details->form_end();
if ($privileges) $details->space();
$url=rawurlencode($body);
$email = "<font style='font-size: smaller'>><a href=\"mailto:".PLC_MAIL_SUPPORT_ADDRESS."?Subject=Reporting a problem rebooting $hostname&Body=$url\">Report a problem</a></font>";
- $details->form_start(l_actions(),array("action"=>"reboot-node-with-pcu", "node_id"=>$node_id, "hostname"=>$hostname));
- print $details->tr_html($email . $details->form->submit_html("submit","Reboot Node"), "right");
- $details->form_end();
+ // NOTE: not sure how to make the buttons display side-by-side...
+ $reboot = $details->form_start_html(l_actions(),array("action"=>"reboot-node-with-pcu",
+ "node_id"=>$node_id, "hostname"=>$hostname, "test"=>FALSE));
+ $reboot .= $email . $details->form->submit_html("submit","Reboot Node");
+ $reboot .= $details->form_end_html();
+
+ $reboot .= $details->form_start_html(l_actions(),array("action"=>"reboot-node-with-pcu",
+ "node_id"=>$node_id, "hostname"=>$hostname, "test"=>TRUE));
+ $reboot .= $details->form->submit_html("submit","Test PCU");
+ $reboot .= $details->form_end_html();
+
+ $details->tr($reboot, "right");
+
}
$details->space();
//////////////////// type & version
-$details->th_td("Type",$node_type);
$details->th_td("Version",$version);
// let's use plc_objects
$Node = new Node($node);
// set tag area
$table->row_start();
// get list of tag names in the node/* category
- $all_tags= $api->GetTagTypes( array ("category"=>"node*"), array("tagname","tag_type_id"));
+ $all_tags= $api->GetTagTypes( array ("category"=>"node*","-SORT"=>"tagname"), array("tagname","tag_type_id"));
// xxx cannot use onchange=submit() - would need to somehow pass action name
function tag_selector ($tag) { return array("display"=>$tag['tagname'],"value"=>$tag['tag_type_id']); }
$selector=array_map("tag_selector",$all_tags);
echo '<p>';
plc_warning_html("This node has no interface");
echo "Please add an interface to make this a usable PLC node.</p>\n";
- } else {
+ } // else { // show this unconditionnally as otherwise there's no mean to create one..
// display a hostname column iff at least one interface has a hostname
$need_hostname=false;
$table=new PlekitTable("node_interfaces",$headers,$sort_column,$table_options);
$table->start();
- foreach ( $interfaces as $interface ) {
+ if ($interfaces) foreach ( $interfaces as $interface ) {
$interface_id= $interface['interface_id'];
$interface_ip= $interface['ip'];
$table->row_end();
}
$table->end();
- }
+ // }
$toggle->end();
}