Exemple #1
0
 def save(self, user, role=None):
     data = self.data
     try:
         parent_name = data.pop('parent_name')
     except:
         parent_name = None
     data.update({'user_id': user.id})
     node = Node(**data).save()
     if not parent_name:
         if not NodeNode.get(parent_id=1, child_id=node.id):
             NodeNode(parent_id=1, child_id=node.id).save()
     else:
         for name in parent_name:
             parent = Node.get(name=name)
             if parent:
                 if not NodeNode.get(parent_id=parent.id, child_id=node.id):
                     NodeNode(parent_id=parent.id, child_id=node.id).save()
     return node
Exemple #2
0
    def save(self, user, role=None, node=None):
        data = self.data
        try:
            parent_name = data.pop('parent_name')
        except:
            parent_name = None
        data.update({'user_id': user.id})
        nns = NodeNode.select(lambda rv: rv.child_id == node.id)
        for nn in nns:
            nn.delete()
        if not parent_name:
            if not NodeNode.get(parent_id=1, child_id=node.id):
                NodeNode(parent_id=1, child_id=node.id).save()
        else:
            for name in parent_name:
                parent = Node.get(name=unicode(name))
                if parent:
                    if not NodeNode.get(parent_id=parent.id, child_id=node.id):
                        NodeNode(parent_id=parent.id, child_id=node.id).save()
        node = node.update(data)

        return node