Adds support for conditionally disabling VM creation.
[invirt/packages/invirt-web.git] / code / templates / list.mako
index d513763..3d0c50c 100644 (file)
@@ -9,6 +9,12 @@
 VM List
 </%def>
 
 VM List
 </%def>
 
+%if os.path.exists("/etc/invirt/motd.html"):
+<div class="result">
+<p class="error">${open('/etc/invirt/motd.html').read()|n}</p>
+</div>
+%endif
+
 <%def name="createForm()">
 % if cant_add_vm:
 <p>${cant_add_vm}</p>
 <%def name="createForm()">
 % if cant_add_vm:
 <p>${cant_add_vm}</p>
@@ -19,6 +25,7 @@ VM List
 % elif new_machine:
 <p>Congratulations! You successfully created a new VM called ${new_machine}.</p>
 % endif
 % elif new_machine:
 <p>Congratulations! You successfully created a new VM called ${new_machine}.</p>
 % endif
+
     <form action="create" method="POST">
     <input type="hidden" name="back" value="list"/>
       <table>
     <form action="create" method="POST">
     <input type="hidden" name="back" value="list"/>
       <table>
@@ -53,19 +60,18 @@ VM List
        ${self.fn.errorRow('autoinstall', err)}
        <tr>
          <td>Autoinstall${self.fn.helppopup('Autoinstalls')}</td>
        ${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.)
 ${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>
        </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")}
 ${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)}
        </tr>
        ${self.fn.errorRow('cdrom', err)}
        ${self.fn.errorRow('cdrom', err)}
@@ -75,14 +81,26 @@ ${self.fn.cdromList(defaults.cdrom, "$('cd_or_auto_cd').checked = true;$('autoin
        </tr>
        ${self.fn.errorRow('owner', err)}
       </table>
        </tr>
        ${self.fn.errorRow('owner', err)}
       </table>
-      <input type="submit" class="button" value="Create it!"/><br />
+      <input type="submit" class="button" value="Create it!" \
+% if disable_creation:
+ disabled="disabled" \
+% endif
+/> \
+% if disable_creation:
+&nbsp;<span style="color:red;">VM creation is currently disabled due to lack of disk space.</span> \
+%endif
+<br />
       Windows notes: ${self.fn.helppopup('Windows')}
     </form>
 % endif
 </%def>
 
       Windows notes: ${self.fn.helppopup('Windows')}
     </form>
 % endif
 </%def>
 
-<%def name="machineRow(machine)">
-      <tr> 
+<%def name="machineRow(machine, dark)">
+      <tr\
+% if dark:
+ class="stripedrow" \
+% endif
+> 
        <td rowspan="2">
        % if machine.uptime and installing[machine]:
        <img src="static/power_installing.png" alt="Installing..." />
        <td rowspan="2">
        % if machine.uptime and installing[machine]:
        <img src="static/power_installing.png" alt="Installing..." />
@@ -123,7 +141,11 @@ ${has_vnc[machine]}
 % endif
 </td>
       </tr>
 % endif
 </td>
       </tr>
-      <tr>
+      <tr\
+% if dark:
+ class="stripedrow" \
+% endif
+>
         <td colspan="7" style="padding-left: 1em; color: #666">${machine.description|self.fn.module.nl2br}</td>
       </tr>
 </%def>
         <td colspan="7" style="padding-left: 1em; color: #666">${machine.description|self.fn.module.nl2br}</td>
       </tr>
 </%def>
@@ -140,17 +162,10 @@ ${has_vnc[machine]}
        <th>Uptime</th>
        <th>VNC</th>
       </tr>
        <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>
 % 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>
 </%def>
 
 <p style="font-size: 125%;"><a href="http://${config.web.hostname}">What is XVM?</a></p>