Resolve #40 to make powering on/off a post.
[invirt/packages/invirt-web.git] / templates / list.tmpl
index e300f61..6e06c53 100644 (file)
@@ -1,44 +1,82 @@
 #from skeleton import skeleton
 #extends skeleton
 
+
 #def title
 List of your VMs
 #end def
 
-#def body
-#if not $machines
-   
+#def createTable()
+#if $cant_add_vm
+<p>$cant_add_vm</p>
 #else
-    <p>You have the following VMs:</p>
-    <table>
-      <tr>
-       <td>Name</td>
-       <td>Memory</td>
-       <td>owner</td>
-       <td>IP</td>
-       <td>MAC Address</td>
-       <td>Hostname</td>
-       <td>Uptime</td>
-       <td>VNC</td>
-       <td></td>
-      #for $machine in $machines:
+<p>Create a new VM:</p>
+#if $err
+<p class="error">We had a problem with your request:</p>
+#else if $varExists('new_machine')
+<p>Congratulations! You successfully created a new VM called $new_machine.</p>
+#end if
+    <form action="create" method="POST">
+    <input type="hidden" name="back" value="list"/>
+      <table>
+      $errorRow('create', $err)
+       <tr>
+         <td>Name</td>
+         <td><input type="text" name="name" value="$defaults.name"/></td>
+       </tr>
+$errorRow('name', $err)
+       <tr>
+         <td>Memory</td>
+         <td><input type="text" name="memory" value="$defaults.memory" size=3/> MiB ($max_memory max)</td>
+       </tr>
+$errorRow('memory', $err)
+       <tr>
+         <td>Disk</td>
+         <td><input type="text" name="disk" value="$defaults.disk" size=3/> GiB (${"%0.1f" % ($max_disk-0.05)} max)</td>
+       </tr>
+$errorRow('disk', $err)
+       <tr>
+         <td>HVM/ParaVM$helppopup('hvm_paravm')</td>
+         <td>
+#for $value, $name in (('hvm', 'HVM'), ('paravm', 'ParaVM'))
+   <input #slurp
+#if $defaults.vmtype == $value then 'checked' else ''
+ type="radio" name="vmtype" value="$value">$name</input>
+#end for
+         </td>
+       </tr>
+$errorRow('vmtype', $err)
+       <tr>
+         <td>Boot CD</td>
+         <td>$cdromList($cdroms, $defaults.cdrom)</td>
+       </tr>
+$errorRow('cdrom', $err)
+       <tr>
+         <td>Owner</td>
+         <td><input type="text" name="owner" value="$defaults.owner"/></td>
+       </tr>
+       $errorRow('owner', $err)
+      </table>
+      <input type="submit" class="button" value="Create it!"/>
+    </form>
+#end if
+#end def
+
+#def machineRow($machine)
       <tr> 
        <td><a href="info?machine_id=$machine.machine_id">$machine.name</a></td>
        <td>${machine.memory}M</td>
        <td>$machine.owner</td>
+       <td>$machine.administrator</td>
 #if $machine.nics
 #set $nic = $machine.nics[0]
        <td>$nic.ip</td>
-       <td>$nic.mac_addr</td>
-       <td>$nic.hostname</td>
 #else
        <td></td>
-       <td></td>
-       <td></td>
 #end if
 <td>#slurp
-#if $uptimes[$machine]
-$uptimes[$machine]#slurp
+#if $machine.uptime
+$machine.uptime#slurp
 #else
 Off#slurp
 #end if
@@ -51,60 +89,48 @@ $has_vnc[$machine]
 #end if
 </td>
        <td>
-         <form action="command">
+         <form action="command" method="post">
+           <input type="hidden" name="back" value="list"/>
            <input type="hidden" name="machine_id"
                   value="$machine.machine_id"/>
-#if $uptimes[$machine]
-           <input type="submit" class="button" name="action" value="Shutdown"/>
-#else
-           <input type="submit" class="button" name="action" value="Power on"/>
-#end if
+<input type="submit" class="button" name="action" value="#slurp
+#if $machine.uptime then 'Power off' else 'Power on'
+"/>
          </form>
        </td>
       </tr>
+#end def
+
+#def machineList($machines)
+    <table>
+      <tr>
+       <td>Name</td>
+       <td>Memory</td>
+       <td>Owner</td>
+        <td>Administrator</td>
+       <td>IP</td>
+       <td>Uptime</td>
+       <td>VNC</td>
+       <td></td>
+      #for $machine in $machines:
+       $machineRow($machine)
       #end for
     </table>
-#end if
-#if $can_add_vm
-    <p>Create a new VM:</p>
-    <form action="create" method="POST">
-      <table>
-       <tr>
-         <td>Name</td>
-         <td><input type="text" name="name" value=""/></td>
-       </tr>
-       <tr>
-         <td>Memory</td>
-         <td><input type="text" name="memory" value="$default_mem" size=3/> megabytes ($max_mem max)</td>
-       </tr>
-       <tr>
-         <td>Disk</td>
-         <td><input type="text" name="disk" value="$default_disk" size=3/> gigabytes (${"%0.1f" % ($max_disk-0.05)} max)</td>
-       </tr>
-       <tr>
-         <td>HVM/ParaVM$helppopup('hvm_paravm')</td>
-         <td>
-           <input checked type="radio" name="vmtype" value="hvm">HVM</input>
-           <input type="radio" name="vmtype" value="paravm">ParaVM</input>
-         </td>
-       </tr>
-       <tr>
-         <td>Boot CD</td>
-         <td>
-           <select name="cdrom">
-             <option selected value="">None</option>
-             #for $cdrom in $cdroms
-             <option value="$cdrom.cdrom_id">
-               $cdrom.description
-             </option>
-             #end for
-           </select>
-         </td>
-       </tr>
-      </table>
-      <input type="submit" class="button" value="Create it!"/>
-    </form>
+#end def
+
+
+#def body
+<p style="font-size: 125%;"><strong>Note:</strong> sipb-xen is a very alpha service. <a href="/static/about.html">What does this mean?</a></p>
+#if not $machines
+<p>You don't currently control any VMs.</p>   
 #else
-<p>You are at the maximum number of VMs.</p>
+    <p>You have the following VMs:</p>
 #end if
+    <p><a href="list">refresh</a></p>
+    <div id="machinelist">
+    $machineList($machines)
+    </div>
+<div id="createtable">
+$createTable()
+</div>
 #end def