From: Eric Price <ecprice@mit.edu>
Date: Tue, 3 Jun 2008 03:40:51 +0000 (-0400)
Subject: Fix a couple bugs.
X-Git-Tag: sipb-xen-www/3.6~66
X-Git-Url: http://xvm.mit.edu/gitweb/invirt/packages/invirt-web.git/commitdiff_plain/05e5f586ef5b9cd9374fa30d89fb107cd949d19d?ds=sidebyside

Fix a couple bugs.

svn path=/trunk/packages/sipb-xen-www/; revision=575
---

diff --git a/code/validation.py b/code/validation.py
index a152946..caa8ce2 100644
--- a/code/validation.py
+++ b/code/validation.py
@@ -84,7 +84,7 @@ def maxMemory(owner, g, machine=None, on=True):
     if not on:
         return MAX_MEMORY_SINGLE
     machines = getMachinesByOwner(owner, machine)
-    active_machines = [x for x in machines if g.xmlist.get(x)]
+    active_machines = [m for m in machines if m.name in g.xmlist_raw]
     mem_usage = sum([x.memory for x in active_machines if x != machine])
     return min(MAX_MEMORY_SINGLE, MAX_MEMORY_TOTAL-mem_usage)
 
@@ -104,7 +104,7 @@ def maxDisk(owner, machine=None):
 
 def cantAddVm(owner, g):
     machines = getMachinesByOwner(owner)
-    active_machines = [x for x in machines if g.xmlist.get(x)]
+    active_machines = [m for m in machines if m.name in g.xmlist_raw]
     if len(machines) >= MAX_VMS_TOTAL:
         return 'You have too many VMs to create a new one.'
     if len(active_machines) >= MAX_VMS_ACTIVE:
@@ -200,7 +200,9 @@ def testAdmin(user, admin, machine):
     Return the value to set the admin field to (possibly 'system:' +
     admin).  XXX is modifying this a good idea?
     """
-    if admin in (None, machine.administrator):
+    if admin is None:
+        return None
+    if machine is not None and admin == machine.administrator:
         return None
     if admin == user:
         return admin