Get username from cherrypy request object
[invirt/packages/invirt-web.git] / code / webcommon.py
index 0449046..7410523 100644 (file)
@@ -1,28 +1,9 @@
 """Exceptions for the web interface."""
 
 import time
+from invirt import database
 from invirt.database import Machine, MachineAccess
 
-class MyException(Exception):
-    """Base class for my exceptions"""
-    pass
-
-class InvalidInput(MyException):
-    """Exception for user-provided input is invalid but maybe in good faith.
-
-    This would include setting memory to negative (which might be a
-    typo) but not setting an invalid boot CD (which requires bypassing
-    the select box).
-    """
-    def __init__(self, err_field, err_value, expl=None):
-        MyException.__init__(self, expl)
-        self.err_field = err_field
-        self.err_value = err_value
-
-class CodeError(MyException):
-    """Exception for internal errors or bad faith input."""
-    pass
-
 import controls
 
 def cachedproperty(func):
@@ -38,15 +19,15 @@ def cachedproperty(func):
 
 class State(object):
     """State for a request"""
-    def __init__(self, user, overlord=False):
+    def __init__(self, user, isadmin=False):
         self.username = user
-        self.overlord = overlord
+        self.isadmin = isadmin
 
     def getMachines(self):
-        if self.overlord:
-            return Machine.select()
+        if self.isadmin:
+            return Machine.query().all()
         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())