sipb-xen -> SIPB Virtual Servers externally
[invirt/packages/invirt-web.git] / code / templates / list.tmpl
1 #from skeleton import skeleton
2 #extends skeleton
3
4
5 #def title
6 List of your VMs
7 #end def
8
9 #def createTable()
10 #if $cant_add_vm
11 <p>$cant_add_vm</p>
12 #else
13 <p>Create a new VM:</p>
14 #if $err
15 <p class="error">We had a problem with your request:</p>
16 #else if $varExists('new_machine')
17 <p>Congratulations! You successfully created a new VM called $new_machine.</p>
18 #end if
19     <form action="create" method="POST">
20     <input type="hidden" name="back" value="list"/>
21       <table>
22       $errorRow('create', $err)
23         <tr>
24           <td>Name</td>
25           <td><input type="text" name="name" value="$defaults.name"/></td>
26         </tr>
27 $errorRow('name', $err)
28         <tr>
29           <td>Memory</td>
30           <td><input type="text" name="memory" value="$defaults.memory" size=3/> MiB ($max_memory max)</td>
31         </tr>
32 $errorRow('memory', $err)
33         <tr>
34           <td>Disk</td>
35           <td><input type="text" name="disk" value="$defaults.disk" size=3/> GiB (${"%0.1f" % ($max_disk-0.05)} max)</td>
36         </tr>
37 $errorRow('disk', $err)
38         <tr>
39           <td>HVM/ParaVM$helppopup('hvm_paravm')</td>
40           <td>
41 #for $value, $name in (('hvm', 'HVM'), ('paravm', 'ParaVM'))
42    <input #slurp
43 #if $defaults.vmtype == $value then 'checked' else ''
44  type="radio" name="vmtype" value="$value">$name</input>
45 #end for
46           </td>
47         </tr>
48 $errorRow('vmtype', $err)
49         <tr>
50           <td>Boot CD</td>
51           <td>$cdromList($cdroms, $defaults.cdrom)</td>
52         </tr>
53 $errorRow('cdrom', $err)
54         <tr>
55           <td>Clone image?</td>
56           <td><input type="checkbox" name="clone_from" id="clone_from" value="ice3" onchange="onclone(event)"/>
57               (experimental; 1-2 minutes, and you have an etch machine; root pw is 'password'.)
58               <script type='text/javascript'>function onclone(e){ document.getElementById('cdromlist').value = ''; }</script></td>
59         </tr>
60 $errorRow('cdrom', $err)
61         <tr>
62           <td>Owner</td>
63           <td><input type="text" name="owner" value="$defaults.owner"/></td>
64         </tr>
65         $errorRow('owner', $err)
66       </table>
67       <input type="submit" class="button" value="Create it!"/>
68     </form>
69 #end if
70 #end def
71
72 #def machineRow($machine)
73       <tr> 
74         <td><a href="info?machine_id=$machine.machine_id">$machine.name</a></td>
75         <td>${machine.memory}M</td>
76         <td>$machine.owner</td>
77         <td>$machine.administrator</td>
78 #if $machine.nics
79 #set $nic = $machine.nics[0]
80         <td>$nic.ip</td>
81 #else
82         <td></td>
83 #end if
84 <td>#slurp
85 #if $machine.uptime
86 $machine.uptime#slurp
87 #else
88 Off#slurp
89 #end if
90 </td>
91         <td>#slurp
92 #if $has_vnc[$machine] == True
93 <a href="vnc?machine_id=$machine.machine_id">Console</a>#slurp
94 #else
95 $has_vnc[$machine]
96 #end if
97 </td>
98         <td>
99           <form action="command" method="post">
100             <input type="hidden" name="back" value="list"/>
101             <input type="hidden" name="machine_id"
102                    value="$machine.machine_id"/>
103 <input type="submit" class="button" name="action" value="#slurp
104 #if $machine.uptime then 'Power off' else 'Power on'
105 "/>
106           </form>
107         </td>
108       </tr>
109 #end def
110
111 #def machineList($machines)
112     <table>
113       <tr>
114         <td>Name</td>
115         <td>Memory</td>
116         <td>Owner</td>
117         <td>Administrator</td>
118         <td>IP</td>
119         <td>Uptime</td>
120         <td>VNC</td>
121         <td></td>
122       #for $machine in $machines:
123         $machineRow($machine)
124       #end for
125     </table>
126 #end def
127
128
129 #def body
130 <p style="font-size: 125%;"><strong>Note:</strong> SIPB Virtual Servers is a very alpha service. <a href="/static/about.html">What does this mean?</a></p>
131 #if not $machines
132 <p>You don't currently control any VMs.</p>   
133 #else
134     <p>You have the following VMs:</p>
135 #end if
136     <p><a href="list">refresh</a></p>
137     <div id="machinelist">
138     $machineList($machines)
139     </div>
140 <div id="createtable">
141 $createTable()
142 </div>
143 #end def