Remove the useless User class (now user is a string)
[invirt/packages/invirt-web.git] / templates / list.tmpl
index f820385..95cb96c 100644 (file)
 #from skeleton import skeleton
 #extends skeleton
 
+
 #def title
 List of your VMs
 #end def
 
-#def body
-#if not $machines
-   
-#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>Status</td>
-       <td>VNC</td>
-       <td>Restart?</td>
-      #for $machine in $machines:
-      <tr> 
-       <td><a href="info?machine_id=$machine.machine_id">$machine.name</a></td>
-       <td>${machine.memory}M</td>
-       <td>$machine.owner</td>
-#if $machine.nics
-#set $nic = $machine.nics[0]
-       <td>$nic.ip</td>
-       <td>$nic.mac_addr</td>
-       <td>$nic.hostname</td>
+#def createTable()
+#if $cant_add_vm
+<p>$cant_add_vm</p>
 #else
-       <td></td>
-       <td></td>
-       <td></td>
+<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
-       <td>Good!</td>
-       <td><a href="vnc?machine_id=$machine.machine_id">Console</a></td>
-       <td>
-         <form action="restart">
-           <input type="hidden" name="machine_id"
-                  value="$machine.machine_id"/>
-           <input type="submit" class="button"
-                  value="restart"/>
-         </form>
-       </td>
-      </tr>
-      #end for
-    </table>
-#end if
-
-    <p>Create a new VM:</p>
-    <form action="create">
+    <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="$user.username"/></td>
+         <td><input type="text" name="name" value="$defaults.name"/></td>
        </tr>
+$errorRow('name', $err)
        <tr>
-         #set $maxmem=256
          <td>Memory</td>
-         <td><input type="text" name="memory" value="$maxmem" size=3/> megabytes ($maxmem max)</td>
+         <td><input type="text" name="memory" value="$defaults.memory" size=3/> megabytes ($max_memory max)</td>
        </tr>
+$errorRow('memory', $err)
        <tr>
-         #set $maxdisk=1.5
          <td>Disk</td>
-         <td><input type="text" name="disk" value="$maxdisk" size=3/> gigabytes ($maxdisk max)</td>
+         <td><input type="text" name="disk" value="$defaults.disk" size=3/> gigabytes (${"%0.1f" % ($max_disk-0.05)} max)</td>
        </tr>
+$errorRow('disk', $err)
        <tr>
-         <td>HVM/ParaVM</td>
+         <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>
+#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>Initial Install</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>
+         <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>
+#if $machine.nics
+#set $nic = $machine.nics[0]
+       <td>$nic.ip</td>
+#else
+       <td></td>
+#end if
+<td>#slurp
+#if $machine.uptime
+$machine.uptime#slurp
+#else
+Off#slurp
+#end if
+</td>
+       <td>#slurp
+#if $has_vnc[$machine] == True
+<a href="vnc?machine_id=$machine.machine_id">Console</a>#slurp
+#else
+$has_vnc[$machine]
+#end if
+</td>
+       <td>
+         <form action="command" method="post">
+           <input type="hidden" name="back" value="list"/>
+           <input type="hidden" name="machine_id"
+                  value="$machine.machine_id"/>
+<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>IP</td>
+       <td>Uptime</td>
+       <td>VNC</td>
+       <td></td>
+      #for $machine in $machines:
+       $machineRow($machine)
+      #end for
+    </table>
+#end def
+
+
+#def body
+#if not $machines
+<p>You don't currently control any VMs.</p>   
+#else
+    <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