Set machine_access to be a private attribute of machine, so the acl is
authorEric Price <ecprice@mit.edu>
Fri, 6 Jun 2008 16:01:28 +0000 (12:01 -0400)
committerEric Price <ecprice@mit.edu>
Fri, 6 Jun 2008 16:01:28 +0000 (12:01 -0400)
deleted automatically when the machine is destroyed.

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

code/cache_acls.py
code/controls.py

index b18eabc..9f8d66a 100644 (file)
@@ -46,7 +46,8 @@ def refreshMachine(m):
         ma = [x for x in m.acl if x.user == removed][0]
         ctx.current.delete(ma)
     for p in people - old_people:
-        ma = MachineAccess(machine_id=m.machine_id, user=p)
+        ma = MachineAccess(user=p)
+        m.acl.append(ma)
         ctx.current.save(ma)
     
 def refreshCache():
index ff3691c..57107ef 100644 (file)
@@ -196,8 +196,6 @@ def deleteVM(machine):
             ctx.current.save(nic)
         for disk in machine.disks:
             ctx.current.delete(disk)
-        for access in machine.acl:
-            ctx.current.delete(access)
         ctx.current.delete(machine)
         transaction.commit()
     except: