X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=planetlab%2Ftags%2Fnodegroups.php;h=82bac8cc7d917c9af332792f1d6e06a10a45ebf3;hb=83825b76a210cf0403763c2955b562c1f9c4439f;hp=85311256c7459a4d53b069e401dff20b24c59d85;hpb=878ce4154f4619a5d07c780bf1f76dfd46771df4;p=plewww.git diff --git a/planetlab/tags/nodegroups.php b/planetlab/tags/nodegroups.php index 8531125..82bac8c 100644 --- a/planetlab/tags/nodegroups.php +++ b/planetlab/tags/nodegroups.php @@ -17,6 +17,7 @@ include 'plc_header.php'; require_once 'plc_functions.php'; require_once 'linetabs.php'; require_once 'table.php'; +require_once 'form.php'; // -------------------- // recognized URL arguments @@ -48,36 +49,71 @@ $nodegroups=$api->GetNodeGroups($nodegroup_filter,$nodegroup_columns); // -------------------- drupal_set_title($title); -plc_tabs($tabs); +plekit_linetabs($tabs); if ( ! $nodegroups ) { drupal_set_message ('No node group found'); return; } +$headers=array(); +$notes=array(); -$headers = array ( "Name"=>"string", - "Tag"=>"string", - "Value"=>"string", - "Nodes"=>"int"); +$headers['group name']='string'; +$headers['tag name']='string'; +$headers['tag value']='string'; +$headers['# N']='int'; +$notes []= '# N = number of nodes in the group'; +$headers["Id"]="int"; +if (plc_is_admin()) $headers[plc_delete_icon()]="none"; + +$form=new PlekitForm(l_actions(),NULL); +$form->start(); # initial sort on groupname -$table=new PlcTable("nodegroups",$headers,0); +$table=new PlekitTable("nodegroups",$headers,0,array('notes'=>$notes)); $table->start(); foreach ($nodegroups as $nodegroup) { $table->row_start(); - $table->cell (href(l_nodegroup($nodegroup['nodegroup_id']),$nodegroup['groupname'])); + $nodegroup_id=$nodegroup['nodegroup_id']; + $table->cell (href(l_nodegroup($nodegroup_id),$nodegroup['groupname'])); // yes, a nodegroup is not a tag, but knows enough for this to work $table->cell (l_tag_obj($nodegroup)); $table->cell ($nodegroup['value']); $table->cell (count($nodegroup['node_ids'])); + $table->cell ($nodegroup_id); + $table->cell ($form->checkbox_html('nodegroup_ids[]',$nodegroup_id)); $table->row_end(); } +$table->tfoot_start(); + +$table->row_start(); +$table->cell($form->submit_html ("delete-nodegroups","Remove groups"), + array('hfill'=>true,'align'=>'right')); +$table->row_end(); + +// an inline area to add a tag type +$table->row_start(); + +// build the tagname selector +$relevant_tags = $api->GetTagTypes( array("category"=>'*node*')); +function selector_argument ($tt) { return array('display'=>$tt['tagname'],"value"=>$tt['tag_type_id']); } +$selectors=array_map("selector_argument",$relevant_tags); +$tagname_input=$form->select_html("tag_type_id",$selectors,array('label'=>"Tag Name")); + + +$table->cell($form->text_html('groupname','')); +$table->cell($tagname_input); +$table->cell($form->text_html('value','')); +$table->cell($form->submit_html("add-nodegroup","Add"),3); +$table->row_end(); + $table->end(); +$form->end(); -//plc_tabs ($tabs,"bottom"); +//plekit_linetabs ($tabs,"bottom"); // Print footer include 'plc_footer.php';