There's two trs
[invirt/packages/invirt-web.git] / code / templates / list.mako
index 71a8943..90953f0 100644 (file)
@@ -1,7 +1,6 @@
 <%page expression_filter="h"/>
 <%inherit file="skeleton.mako" />
 <%!
-       from invirt.config import structs as config
        import datetime
 %>
 
@@ -54,19 +53,18 @@ VM List
        ${self.fn.errorRow('autoinstall', err)}
        <tr>
          <td>Autoinstall${self.fn.helppopup('Autoinstalls')}</td>
-         <td><input type="radio" name="cd_or_auto" id="cd_or_auto_auto"
-                 onchange="\$('cdromlist').value = ''; \$('vmtype-linux').checked = true">
+         <td><label><input type="radio" name="cd_or_auto" id="cd_or_auto_auto"
+                 onchange="$('cdromlist').value = ''; $('vmtype-linux').checked = true" />
 ${self.fn.autoList(defaults.cdrom, "$('cd_or_auto_auto').checked = true;$('cdromlist').value = '';$('vmtype-linux').checked = true")}
              (experimental; 2-3 minutes, and you have a machine with empty root password.)
-         </input>
+</label></td>
        </tr>
        <tr>
          <td>Boot CD</td>
-         <td><input type="radio" name="cd_or_auto" id="cd_or_auto_cd" checked="checked"
-                onchange="\$('autoinstalllist').value = ''; \$('vmtype-linux-hvm').checked = true">
+         <td><label><input type="radio" name="cd_or_auto" id="cd_or_auto_cd" checked="checked"
+                onchange="$('autoinstalllist').value = ''; $('vmtype-linux-hvm').checked = true" />
 ${self.fn.cdromList(defaults.cdrom, "$('cd_or_auto_cd').checked = true;$('autoinstalllist').value = '';$('vmtype-linux-hvm').checked = true")}
-</td>
-         </input>
+</label></td>
        </tr>
        ${self.fn.errorRow('cdrom', err)}
        ${self.fn.errorRow('cdrom', err)}
@@ -82,26 +80,34 @@ ${self.fn.cdromList(defaults.cdrom, "$('cd_or_auto_cd').checked = true;$('autoin
 % endif
 </%def>
 
-<%def name="machineRow(machine)">
-      <tr> 
+<%def name="machineRow(machine, dark)">
+      <tr\
+% if dark:
+ class="stripedrow" \
+% endif
+> 
        <td rowspan="2">
-         <form action="command" method="post">
+       % if machine.uptime and installing[machine]:
+       <img src="static/power_installing.png" alt="Installing..." />
+       % else:
+         <form action="machine/${machine.machine_id}/command/${'shutdown' if machine.uptime else 'create'}" method="post">
            <input type="hidden" name="back" value="list"/>
            <input type="hidden" name="machine_id"
                   value="${machine.machine_id}"/>
-<input type="submit" class="power ${'on' if machine.uptime else 'off'}" name="action" value="${'Power off' if machine.uptime else 'Power on'}"\
+<input type="submit" class="power ${'on' if machine.uptime else 'off'}" name="action" value="${'Shutdown' if machine.uptime else 'Power on'}"\
 % if machine.uptime:
  onclick="return confirm('Are you sure you want to power off this VM?');"
 % endif
 />
          </form>
+         % endif
        </td>
-       <td><a href="info?machine_id=${machine.machine_id}">${machine.name}</a></td>
+       <td><a href="machine/${machine.machine_id}">${machine.name}</a></td>
        <td>${machine.memory}M</td>
        <td>${machine.owner}</td>
        <td>${machine.administrator}</td>
 % if machine.nics:
-       <td>${', '.join(map(lambda x: x.ip, machine.nics))}</td>
+       <td>${', '.join(nic.ip for nic in machine.nics)}</td>
 % else:
        <td></td>
 % endif
@@ -112,14 +118,20 @@ ${datetime.timedelta(seconds=int(machine.uptime))}\
 </td>
        <td>\
 % if has_vnc[machine] == True:
-<a href="vnc?machine_id=${machine.machine_id}">Console</a>\
+<a href="machine/${machine.machine_id}/vnc">Console</a>\
+% elif has_vnc[machine] == 'ParaVM':
+ParaVM${self.fn.helppopup("ParaVM Console")}
 % elif has_vnc[machine] != 'Off':
 ${has_vnc[machine]}
 % endif
 </td>
       </tr>
-      <tr>
-        <td colspan="7" style="padding-left: 1em; color: #666">${machine.description}</td>
+      <tr\
+% if dark:
+ class="stripedrow" \
+% endif
+>
+        <td colspan="7" style="padding-left: 1em; color: #666">${machine.description|self.fn.module.nl2br}</td>
       </tr>
 </%def>
 
@@ -135,17 +147,10 @@ ${has_vnc[machine]}
        <th>Uptime</th>
        <th>VNC</th>
       </tr>
-% for machine in machines:
-       ${machineRow(machine)}
+% for n, machine in enumerate(machines):
+       ${machineRow(machine, (n%2)==0)}
 % endfor
     </table>
-    <script type="text/javascript" src="/static/stripe.js"></script>
-    <script type="text/javascript">
-        document.observe("dom:loaded", function() {
-            stripe(\$('machinelist').getElementsByTagName('table')[0],
-                   'stripedrow');
-        });
-    </script>
 </%def>
 
 <p style="font-size: 125%;"><a href="http://${config.web.hostname}">What is XVM?</a></p>