From 95fcd60f642221de28835c3644c8c2eb2184a2f0 Mon Sep 17 00:00:00 2001 From: ibuler Date: Tue, 22 Jan 2019 12:44:01 +0800 Subject: [PATCH] =?UTF-8?q?[Update]=20=E5=85=BC=E5=AE=B9=E4=B9=8B=E5=89=8D?= =?UTF-8?q?=E7=9A=84node=20api?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/assets/api/node.py | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/apps/assets/api/node.py b/apps/assets/api/node.py index cc12f9b9c..f7f2ddc1a 100644 --- a/apps/assets/api/node.py +++ b/apps/assets/api/node.py @@ -43,6 +43,23 @@ class NodeViewSet(viewsets.ModelViewSet): permission_classes = (IsOrgAdmin,) serializer_class = serializers.NodeSerializer + def perform_create(self, serializer): + child_key = Node.root().get_next_child_key() + serializer.validated_data["key"] = child_key + serializer.save() + + def update(self, request, *args, **kwargs): + node = self.get_object() + if node.is_root(): + node_value = node.value + post_value = request.data.get('value') + if node_value != post_value: + return Response( + {"msg": _("You can't update the root node name")}, + status=400 + ) + return super().update(request, *args, **kwargs) + class NodeListAsTreeApi(generics.ListAPIView): """