set omf_control is checkbox checked - tweak creation/renewal message
[plewww.git] / planetlab / slices / slice_add.php
index dba762c..704e0fe 100644 (file)
@@ -89,6 +89,14 @@ if ( $_POST['add-slice'] ) {
 
     if ($slice_id > 0) {
       drupal_set_message ("Slice $slice_id created");
+      if (isset($_POST['omf-control'])) {
+       if ($api->SetSliceOmfControl($slice_id,'yes') != 'yes') {
+         drupal_set_error("Could not set the 'omf_control' tag on newly created slice...");
+       } else {
+         drupal_set_message("Successfully set the 'omf_control' tag on slice");
+       }
+      }
+
       if ($person_ids) {
         // Add people
        $success=true;
@@ -155,44 +163,45 @@ $multiple_sites=false;
 $site_columns=array('name','login_base','site_id');
 if (plc_is_admin ()) {
   $multiple_sites=true;
-  $filter=NULL;
+  $filter=array('-SORT'=>'name');
  } else if (count (plc_my_site_ids()) > 1) {
   $multiple_sites=true;
-  $filter=plc_my_site_ids();
+  $filter=array('-SORT'=>'name','site_id'=>plc_my_site_ids());
  }
 
 if ($multiple_sites) {
-  print "<div id='add_slice_in_site'>";
+  print "<div id='create-slice-in-site'>";
   $other_sites=$api->GetSites($filter,$site_columns);
   $selectors=array();
   foreach ($other_sites as $other_site) {
     $selector=array('display'=>$other_site['name'],
                    'value'=>$other_site['site_id']);
-    if ($other_site['site_id']==$other_site_id) $selector['selected']='selected';
+    if ($other_site['site_id']==$site_id) $selector['selected']='selected';
     $selectors []= $selector;
   }
 
-  $site_form = new  PleKitForm (l_slice_add(),array(),'get');
+  $site_form = new  PleKitForm (l_slice_add(),array(),array('method'=>'get'));
   $site_form->start();
   print $site_form->label_html('site_id','Or choose some other site');
   print $site_form->select_html('site_id',$selectors,array('autosubmit'=>true,
-                                                          'id'=>'add_slice_choose_site'));
+                                                          'id'=>'create-slice-choose-site'));
   $site_form->end();
   print "</div>";
  }
                  
 print <<< EOF
-<div class='slice_add'>
-<p>You must provide a short description of the new slice 
-as well as a link to a project website before creating it. 
-<br/>
-Do <strong>not</strong> provide bogus information; if a complaint 
-is lodged against your slice and your PlanetLab Operations Center
-is unable to determine what the normal behavior of your slice is, 
-your slice may be deleted to resolve the complaint.
-</p>
-<p><strong>NOTE</strong>: 
-All PlanetLab users are <strong>strongly</strong> encouraged to join the PlanetLab 
+<div class='create-slice-instantiations'>
+<p>You <span class='bold'>must</span> provide a short description, 
+as well as a link to a project website, before creating it.
+
+<br/> Please make sure to provide reasonable details on <span class='bold'>
+the kind of traffic</span>, and <span class='bold'>copyrights</span> if relevant. 
+Do <span class='bold'>not</span> provide bogus information; if a complaint is lodged against 
+your slice  and your PlanetLab Operations Center is unable to determine what the normal behavior 
+of your slice is, your slice may be deleted to resolve the complaint.</p>
+
+<p><span class='bold'>NOTE</span>: All PlanetLab users are <span class='bold'>strongly</span>
+ encouraged to join the PlanetLab 
 <a href='https://lists.planet-lab.org/mailman/listinfo/users'>Users</a> 
 mailing list. Most questions about running software on PlanetLab can be answered by 
 posting to this list. 
@@ -202,12 +211,15 @@ New software releases and available services are announced here as well.
 </div>
 EOF;
 
+$toggle = new PlekitToggle ('create-slice-details','Slice Details',
+                           array ('visible'=>get_arg('show_slice',true)));
 $details = new PlekitDetails(TRUE);
 
 $form_variables = array('site_id'=>plc_my_site_id());
 $form = $details -> form_start("/db/slices/slice_add.php",$form_variables);
 print $form->hidden_html("site_id",$site_id);
 
+$toggle->start();
 $details->start();
 
 $running=count($site['slice_ids']);
@@ -222,29 +234,46 @@ $details->th_td("Description",$description,"description",
                      'width'=>50,'height'=>5));
 $selectors=array(array('display'=>"PLC",'value'=>'plc-instantiated'),
                 array('display'=>"Delegated",'value'=>'delegated'),
+                array('display'=>"Controller",'value'=>'nm-controller'),
                 array('display'=>"None",'value'=>'not-instantiated'));
 
-$instanciation_select = $form->select_html ("instantiation", $selectors);
-$details->th_td("Instanciation",$instanciation_select,"instantiation",
+$instantiation_select = $form->select_html ("instantiation", $selectors);
+$details->th_td("Instantiation",$instantiation_select,"instantiation",
                array('input_type'=>'select', 'value'=>$instantiation));
 
+// display the current settings if any (like, we've screwed up the first time)
+if (isset($_POST['omf-control'])) {
+  $omf_options=array('checked'=>'checked');
+} else {
+  $omf_options=array();
+}
+$details->th_td("OMF friendly",
+               $form->checkbox_html('omf-control','yes',$omf_options));
 
-$details->end();
-
-print <<< EOF
-<div class='slice_add'>
-<p>There are three possible "instantiation" states for a slice.</p>
+$instantiation_text = <<< EOF
+<div class='create-slice-instantiations'>
+<p>There are four possible "instantiation" states for a slice.</p>
 <ul>
-<li> <strong>PLC</strong> creates a slice with default settings. </li>
-<li><strong>Delegated</strong> creates a ticket to use on each node. </li>
-<li><strong>None</strong> allows you to reserve a slice name; you may instantiate the slice later.</li>
+<li> <span class='bold'>PLC</span> creates a slice with default settings. </li>
+<li><span class='bold'>Delegated</span> creates a ticket to use on each node. </li>
+<li><span class='bold'>Controller</span> creates a slice on all nodes to manipulate Delegated slices. </li>
+<li><span class='bold'>None</span> allows you to reserve a slice name; you may instantiate the slice later.</li>
 </ul>
+<p>PLC instantiated slices can be defined as <span class='bold'>OMF friendly</span>, 
+in which case slivers come with the OMF <span class='bold'>Resource Controller</span> pre-installed and pre-configured. 
+Such slivers can then be easily managed through a centralized tool, the OMF Experiment Controller.
+</p>
 </div>
 EOF;
 
+$details->tr($instantiation_text);
+
+$details->end();
+$toggle->end();
+
 if ($persons) {
   $title = count($persons) . " people can be added in slice";
-  $toggle=new PlekitToggle ('persons',$title,
+  $toggle=new PlekitToggle ('create-slice-persons',$title,
                          array('visible'=>get_arg('show_persons',true)));
   $toggle->start();