X-Git-Url: http://xvm.mit.edu/gitweb/invirt/packages/invirt-web.git/blobdiff_plain/7ab93691b4b6a45e99f78b37796413c5f24629a4..874a30391973642d3ff350f977c1ac705644fbb0:/code/main.py diff --git a/code/main.py b/code/main.py index 8506ee5..f6f0bff 100755 --- a/code/main.py +++ b/code/main.py @@ -39,8 +39,8 @@ import cache_acls from webcommon import InvalidInput, CodeError, State import controls from getafsgroups import getAfsGroupMembers -import sipb_xen_database as database -from sipb_xen_database import Machine, CDROM, ctx, connect, MachineAccess, Type, Autoinstall +from invirt import database +from invirt.database import Machine, CDROM, ctx, connect, MachineAccess, Type, Autoinstall from invirt.config import structs as config def pathSplit(path): @@ -85,6 +85,7 @@ def makeErrorPre(old, addition): return '

STDERR:

' + str(addition) + '
' Template.database = database +Template.config = config Template.helppopup = staticmethod(helppopup) Template.err = None @@ -594,14 +595,15 @@ def unauthFront(_, _2, _3, fields): """Information for unauth'd users.""" return templates.unauth(searchList=[{'simple' : True}]) -def overlord(username, state, path, fields): +def admin(username, state, path, fields): if path == '': return ({'Status': '303 See Other', - 'Location': 'overlord/'}, + 'Location': 'admin/'}, "You shouldn't see this message.") - if not username in getAfsGroupMembers('system:xvm', 'athena.mit.edu'): - raise InvalidInput('username', username, 'Not an overlord.') - newstate = State(username, overlord=True) + if not username in getAfsGroupMembers(config.web.adminacl, 'athena.mit.edu'): + raise InvalidInput('username', username, + 'Not in admin group %s.' % config.web.adminacl) + newstate = State(username, isadmin=True) newstate.environ = state.environ return handler(username, newstate, path, fields) @@ -617,7 +619,8 @@ mapping = dict(list=listVms, create=create, help=helpHandler, unauth=unauthFront, - overlord=overlord, + admin=admin, + overlord=admin, errortest=throwError) def printHeaders(headers):