Redirect with 303 See Other.
[invirt/packages/invirt-web.git] / code / main.py
index 3d880c1..d05eaca 100755 (executable)
@@ -339,7 +339,7 @@ def command(username, state, fields):
         return templates.list(searchList=[d])
     elif back == 'info':
         machine = validation.Validate(username, state, machine_id=fields.getfirst('machine_id')).machine
-        return ({'Status': '302',
+        return ({'Status': '303 See Other',
                  'Location': '/info?machine_id=%d' % machine.machine_id},
                 "You shouldn't see this message.")
     else:
@@ -377,7 +377,7 @@ def modifyDict(username, state, fields):
             machine.owner = validate.owner
             update_acl = True
         if hasattr(validate, 'name'):
-            machine.name = name
+            machine.name = validate.name
         if hasattr(validate, 'admin') and validate.admin != machine.administrator:
             machine.administrator = validate.admin
             update_acl = True
@@ -411,7 +411,7 @@ def modify(username, state, fields):
         machine = modify_dict['machine']
         result = 'Success!'
         err = None
-    info_dict = infoDict(username, machine)
+    info_dict = infoDict(username, state, machine)
     info_dict['err'] = err
     if err:
         for field in fields.keys():
@@ -675,7 +675,9 @@ Please email xvm-dev@mit.edu with the contents of this page.'
 ----
 %s
 ----''' % (str(err), traceback.format_exc())
-        self.start('200 OK', headers.items())
+        status = headers.setdefault('Status', '200 OK')
+        del headers['Status']
+        self.start(status, headers.items())
         yield output_string
         if fields.has_key('timedebug'):
             yield '<pre>%s</pre>' % cgi.escape(str(checkpoint))