X-Git-Url: http://xvm.mit.edu/gitweb/invirt/packages/invirt-web.git/blobdiff_plain/48ee742135ea5c591b7636e0be9ae5c902fe05b0..a2945267e85c20e2cec87ca5fb470bf51fecfada:/code/main.py?ds=sidebyside diff --git a/code/main.py b/code/main.py index dd2b591..0b8af46 100755 --- a/code/main.py +++ b/code/main.py @@ -51,7 +51,7 @@ class InvirtUnauthWeb(View): @cherrypy.expose @cherrypy.tools.mako(filename="/unauth.mako") def index(self): - return {'simple': True} + return dict(simple=True) class InvirtWeb(View): def __init__(self): @@ -97,6 +97,9 @@ class InvirtWeb(View): return d def __getattr__(self, name): + # At the point __getattr__ is called, tools haven't been run. Make sure the user is logged in. + cherrypy.tools.remote_user_login.callable() + if name in ("admin", "overlord"): if not cherrypy.request.login in getAfsGroupMembers(config.adminacl, config.authz.afs.cells[0].cell): raise InvalidInput('username', cherrypy.request.login, @@ -520,9 +523,9 @@ def modifyDict(username, state, machine_id, fields): olddisk = {} session.begin() try: - kws = dict([(kw, fields[kw]) for kw in + kws = dict((kw, fields[kw]) for kw in 'owner admin contact name description memory vmtype disksize'.split() - if fields[kw]]) + if fields.get(kw)) kws['machine_id'] = machine_id validate = validation.Validate(username, state, **kws) machine = validate.machine