+ @cherrypy.tools.mako(filename="/info.mako")
+ @cherrypy.tools.require_POST()
+ def modify(self, machine_id, **fields):
+ """Handler for modifying attributes of a machine."""
+ try:
+ modify_dict = modifyDict(cherrypy.request.login, cherrypy.request.state, machine_id, fields)
+ except InvalidInput, err:
+ result = None
+ machine = validation.Validate(cherrypy.request.login, cherrypy.request.state, machine_id=machine_id).machine
+ else:
+ machine = modify_dict['machine']
+ result = 'Success!'
+ err = None
+ info_dict = infoDict(cherrypy.request.login, cherrypy.request.state, machine)
+ info_dict['err'] = err
+ if err:
+ for field in fields.keys():
+ setattr(info_dict['defaults'], field, fields.get(field))
+ info_dict['result'] = result
+ return info_dict
+
+ @cherrypy.expose