Ejemplo n.º 1
0
 def DELETE(self, name):
     session = cherrypy.request.db
     cherrypy.response.headers["content-type"] = "text/plain"
     element = User.get_one(session, name)
     if isinstance(element, User):
         element = User.del_one(session, element)
         if isinstance(element, User):
             client_com.send_requests_process(
                 {"backend": None, "monitor": None}, "DELETE", "user", name, None, None, None
             )
             return "User %s deleted" % name
     elif element == User.ERROR_ELEMENT_NOT_EXISTS:
         raise cherrypy.HTTPError("404", "User %s not found" % name)
Ejemplo n.º 2
0
 def POST(self, name):
     session = cherrypy.request.db
     cherrypy.response.headers["content-type"] = "text/plain"
     body = cherrypy.request.body.read().decode()
     if cherrypy.request.process_request_body == True:
         element = User.get_one(session, name)
         if isinstance(element, User):
             element = User.import_one(session, body, element=element)
             if isinstance(element, User):
                 client_com.send_requests_process(
                     {"backend": None, "monitor": None}, "POST", "user", name, None, body, "text/xml"
                 )
                 return "User %s updated" % name
             elif element == User.ERROR_VALUE_NOT_VALID:
                 raise cherrypy.HTTPError("403", "Value of attribute not valid")
             elif element == User.ERROR_TAG_NOT_VALID:
                 raise cherrypy.HTTPError("400", "Tag not valid")
         elif element == User.ERROR_ELEMENT_NOT_EXISTS:
             raise cherrypy.HTTPError("404", "User %s not found" % name)
     else:
         raise cherrypy.HTTPError("400", "No body specified")
Ejemplo n.º 3
0
 def PUT(self, name, attrib=None):
     session = cherrypy.request.db
     cherrypy.response.headers["content-type"] = "text/plain"
     body = cherrypy.request.body.read().decode()
     if cherrypy.request.process_request_body == True:
         if attrib == None:
             element = User.import_one(session, body, name=name)
             if isinstance(element, User):
                 element = User.add_one(session, element)
                 if isinstance(element, User):
                     client_com.send_requests_process(
                         {"backend": None, "monitor": None}, "PUT", "user", name, attrib, body, "text/xml"
                     )
                     return "User %s added" % name
                 elif element == User.ERROR_ELEMENT_ALREADY_EXISTS:
                     raise cherrypy.HTTPError("403", "User %s alread exists" % name)
             elif element == User.ERROR_VALUE_NOT_VALID:
                 raise cherrypy.HTTPError("403", "Value of attribute not valid")
             elif element == User.ERROR_TAG_NOT_VALID:
                 raise cherrypy.HTTPError("400", "Tag not valid")
         else:
             element = User.get_one(session, name)
             if isinstance(element, User):
                 element = User.edit_one(session, element, attrib, body)
                 if isinstance(element, User):
                     client_com.send_requests_process(
                         {"backend": None, "monitor": None}, "PUT", "user", name, attrib, body, "text/plain"
                     )
                     return "User %s attribute %s value %s changed" % (name, attrib, body)
                 elif element == User.ERROR_VALUE_NOT_VALID:
                     raise cherrypy.HTTPError("403", "Value %s of attribute %s not valid" % (body, attrib))
                 elif element == User.ERROR_ATTRIB_NOT_VALID:
                     raise cherrypy.HTTPError("404", "Attribute %s not found" % attrib)
             elif element == User.ERROR_ELEMENT_NOT_EXISTS:
                 raise cherrypy.HTTPError("404", "User %s not found" % name)
     else:
         raise cherrypy.HTTPError("400", "No body specified")
Ejemplo n.º 4
0
 def GET(self, name=None, room=None, receive_room=None):
     session = cherrypy.request.db
     cherrypy.response.headers["content-type"] = "text/xml"
     if name == None:
         if room != None:
             elements = User.get_all(session, "room", room)
         elif receive_room != None:
             elements = User.get_all(session, "receive_room", receive_room)
         else:
             elements = User.get_all(session)
         if isinstance(elements, list):
             if isinstance(cherrypy.request.role, User):
                 return User.export_all(elements, ["name", "room", "receive_room", "admin"])
             else:
                 return User.export_all(elements, "all")
         elif elements == User.ERROR_VALUE_NOT_VALID:
             raise cherrypy.HTTPError("404", "Value %s of attribute %s not valid" % room, "room")
     else:
         element = User.get_one(session, name)
         if isinstance(element, User):
             return User.export_one(element, "all")
         elif elements == User.ERROR_ELEMENT_NOT_EXISTS:
             raise cherrypy.HTTPError("404", "User %s not found" % name)