X-Git-Url: http://xvm.mit.edu/gitweb/invirt/packages/invirt-web.git/blobdiff_plain/dbd56d540e7ec9cbb22025f37c0a69278674d3bb..55a1b4d83e6a40a12ec3b540692e98c50cef244e:/code/webcommon.py diff --git a/code/webcommon.py b/code/webcommon.py index e82f790..9052a4e 100644 --- a/code/webcommon.py +++ b/code/webcommon.py @@ -1,6 +1,7 @@ """Exceptions for the web interface.""" import time +from invirt import database from invirt.database import Machine, MachineAccess class MyException(Exception): @@ -44,9 +45,11 @@ class State(object): def getMachines(self): if self.isadmin: - return Machine.select() + return Machine.query().join('acl').filter_by( + database.or_(MachineAccess.c.user == self.username, + Machine.c.adminable == True)) else: - return Machine.query().join('acl').select_by(user=self.username) + return Machine.query().join('acl').filter_by(user=self.username) machines = cachedproperty(getMachines) xmlist_raw = cachedproperty(lambda self: controls.getList())