Index: trunk/web/templates/main.py
===================================================================
--- trunk/web/templates/main.py	(revision 205)
+++ trunk/web/templates/main.py	(revision 207)
@@ -495,17 +495,11 @@
 def create(user, fields):
     """Handler for create requests."""
-    js = fields.getfirst('js')
     try:
         parsed_fields = parseCreate(user, fields)
         machine = createVm(**parsed_fields)
     except InvalidInput, err:
-        if not js:
-            raise
+        pass
     else:
         err = None
-        if not js:
-            d = dict(user=user,
-                     machine=machine)
-            return Template(file='create.tmpl', searchList=[d])
     g.clear() #Changed global state
     d = getListDict(user)
@@ -516,7 +510,5 @@
     else:
         d['new_machine'] = parsed_fields['name']
-    t = Template(file='list.tmpl', searchList=[d])
-    return JsonDict(createtable=t.createTable(),
-                    machinelist=t.machineList(d['machines']))
+    return Template(file='list.tmpl', searchList=[d])
 
 
@@ -557,16 +549,5 @@
     """Handler for list requests."""
     d = getListDict(user)
-    t = Template(file='list.tmpl', searchList=[d])
-    js = fields.getfirst('js')
-    if not js:
-        return t
-    if js == 'machinelist':
-        return t.machineList(d['machines'])
-    elif js.startswith('machinerow-'):
-        request_machine_id = int(js.split('-')[1])
-        m = [x for x in d['machines'] if x.id == request_machine_id]
-        return t.machineRow(m)
-    elif js == 'createtable':
-        return t.createTable()
+    return Template(file='list.tmpl', searchList=[d])
             
 def testMachineId(user, machineId, exists=True):
@@ -758,35 +739,30 @@
 def command(user, fields):
     """Handler for running commands like boot and delete on a VM."""
-    js = fields.getfirst('js')
+    back = fields.getfirst('back')
     try:
         d = commandResult(user, fields)
+        if d['command'] == 'Delete VM':
+            back = 'list'
     except InvalidInput, err:
-        if not js:
+        if not back:
             raise
+        print >> sys.stderr, err
         result = None
     else:
-        err = None
         result = 'Success!'
-        if not js:
+        if not back:
             return Template(file='command.tmpl', searchList=[d])
-    if js == 'list':
+    if back == 'list':
         g.clear() #Changed global state
         d = getListDict(user)
-        t = Template(file='list.tmpl', searchList=[d])
-        return JsonDict(createtable=t.createTable(),
-                        machinelist=t.machineList(d['machines']),
-                        result=result,
-                        err=err)
-    elif js == 'info':
+        d['result'] = result
+        return Template(file='list.tmpl', searchList=[d])
+    elif back == 'info':
         machine = testMachineId(user, fields.getfirst('machine_id'))
         d = infoDict(user, machine)
-        t = Template(file='info.tmpl', searchList=[d])
-        return JsonDict(info=t.infoTable(),
-                        commands=t.commands(),
-                        modify=t.modifyForm(),
-                        result=result,
-                        err=err)
+        d['result'] = result
+        return Template(file='info.tmpl', searchList=[d])
     else:
-        raise InvalidInput('js', js, 'Not a known js type.')
+        raise InvalidInput('back', back, 'Not a known back page.')
 
 def testAdmin(user, admin, machine):
@@ -800,6 +776,7 @@
                                   'athena.mit.edu'):
         return 'system:'+admin
-    raise InvalidInput('administrator', admin, 
-                       'You must control the group you move it to.')
+    return admin
+    #raise InvalidInput('administrator', admin, 
+    #                   'You must control the group you move it to.')
     
 def testOwner(user, owner, machine):
@@ -900,11 +877,8 @@
 def modify(user, fields):
     """Handler for modifying attributes of a machine."""
-    js = fields.getfirst('js')
     try:
         modify_dict = modifyDict(user, fields)
     except InvalidInput, err:
-        if not js:
-            raise
-        result = ''
+        result = None
         machine = testMachineId(user, fields.getfirst('machine_id'))
     else:
@@ -912,6 +886,4 @@
         result='Success!'
         err = None
-        if not js:
-            return Template(file='command.tmpl', searchList=[modify_dict])
     info_dict = infoDict(user, machine)
     info_dict['err'] = err
@@ -919,10 +891,6 @@
         for field in fields.keys():
             setattr(info_dict['defaults'], field, fields.getfirst(field))
-    t = Template(file='info.tmpl', searchList=[info_dict])
-    return JsonDict(info=t.infoTable(),
-                    commands=t.commands(),
-                    modify=t.modifyForm(),
-                    result=result,
-                    err=err)
+    info_dict['result'] = result
+    return Template(file='info.tmpl', searchList=[info_dict])
     
 
