X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=planetlab%2Ftags%2Fnodegroups.php;h=feb56a535e065ee87fe59ef9fdbc2c4881adba0c;hb=d31fa31bc2efa20a4ce0d8285f7d8f607eff5812;hp=6917d6a33f3efa10e7b4ace3c467e393284d5ac0;hpb=847006de47d4f1868cecf6126801a94e26f709ad;p=plewww.git diff --git a/planetlab/tags/nodegroups.php b/planetlab/tags/nodegroups.php index 6917d6a..feb56a5 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 @@ -52,30 +53,64 @@ 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 PlekitTable("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(); //plekit_linetabs ($tabs,"bottom");