コード例 #1
0
 def delete_node(data):
     """
     Node deletion
     :param data: Node data
     :return: Response message
     """
     try:
         client = data['client']
         pk = data['pk']
         node = Node(client, pk)
         node.update_node(del_ind=True)
         if not node.error:
             # Delete org if root node is deleted
             if node.base.node_type.node_type == 'ROOTNODE':
                 org = Organization.get_org_by_rootnode(
                     client, node.base.node)
                 del_org = Organization(client, None)
                 del_org.base = org
                 del_org.update_org(del_ind=True)
                 if del_org.error:
                     return [del_org.message]
                 if node.save_node() and del_org.save_org():
                     return ['{"message": "Deletion successfull"}']
                 return ['{"error": "Something went wrong"}']
             else:
                 if node.save_node():
                     return ['{"message": "Deletion successfull"}']
         return [node.message]
     except KeyError:
         return ['{"error": "No valid inputs found"}']
コード例 #2
0
 def create_org(data):
     """
     Creates new organization for client
     :param data: Organization data (should contain client and org_name)
     :return: Response object/message
     """
     try:
         # Get client and org_name from data
         client = data['client']
         org_name = data['org_name']
         org_obj = Organization(client, None)
         org_obj.update_org(name=org_name)
         if not org_obj.error:
             root_node = Node(client, None)
             root_node.update_node(name=org_name,
                                   node_type=None,
                                   parent_node=None,
                                   map_id=None)
             if root_node.save_node():
                 org_obj.update_org(root_node=root_node.base.node)
                 if org_obj.save_org():
                     return [org_obj.base]
                 return [org_obj.message]
             return [root_node.message]
         return [org_obj.message]
     except KeyError:
         # Raised when client or org_name not found
         return ['{"error": "No valid inputs found"}']
コード例 #3
0
 def edit_node_basic_data(data):
     """
     Edit node
     :param data: Node data
     :return: Response object/message
     """
     try:
         client = data['client']
         pk = data['pk']
         new_name = data['name']
         node = Node(client, pk)
         node.update_node(name=new_name, del_ind=False)
         if not node.error:
             # Update org name if root node changed
             if node.base.node_type.node_type == 'ROOTNODE':
                 # Get org by root node and update both org and root node
                 org = Organization.get_org_by_rootnode(
                     client, node.base.node)
                 edit_org = Organization(client, None)
                 edit_org.base = org
                 edit_org.update_org(name=node.base.name)
                 if edit_org.error:
                     return [edit_org.message]
                 if node.save_node() and edit_org.save_org():
                     return [node.base]
                 return ['{"error": "Something went wrong"}']
             else:
                 if node.save_node():
                     return [node.base]
         return [node.message]
     except KeyError:
         return ['{"error": "No valid inputs found"}']
コード例 #4
0
 def create_node(data):
     """
     Create new node
     :param data: Node data
     :return: Response object/message
     """
     try:
         client = data['client']
         name = data['name']
         node_type = data['node_type']
         parent_node = data['parent_node']
         map_id = data['map_id']
         new_node = Node(client, None)
         new_node.update_node(name=name,
                              node_type=node_type,
                              parent_node=parent_node,
                              map_id=map_id)
         res = new_node.save_node()
         if res:
             return [new_node.base]
         else:
             return [new_node.message]
     except KeyError:
         return ['{"error": "No valid inputs found"}']