X-Git-Url: http://xvm.mit.edu/gitweb/invirt/packages/invirt-web.git/blobdiff_plain/b001dd5804c18377b497d87ddf23138282ef2690..8af4d9d694c4491601cb6f9394b811fc36f13cb2:/code/main.py diff --git a/code/main.py b/code/main.py index bb863c1..78ca14f 100755 --- a/code/main.py +++ b/code/main.py @@ -595,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) @@ -618,7 +619,8 @@ mapping = dict(list=listVms, create=create, help=helpHandler, unauth=unauthFront, - overlord=overlord, + admin=admin, + overlord=admin, errortest=throwError) def printHeaders(headers): @@ -647,7 +649,7 @@ def show_error(op, username, fields, err, emsg, traceback): d = dict(op=op, user=username, fields=fields, errorMessage=str(err), stderr=emsg, traceback=traceback) details = templates.error_raw(searchList=[d]) - if username not in ('price', 'ecprice', 'andersk'): #add yourself at will + if username not in config.web.errormail_exclude: send_error_mail('xvm error on %s for %s: %s' % (op, username, err), details) d['details'] = details