From 34a160315bf24818734d16cd1186cd0ec268afad Mon Sep 17 00:00:00 2001 From: NarayanBavisetti Date: Mon, 27 Jan 2025 18:28:37 +0530 Subject: [PATCH] chore: update project state --- apiserver/plane/app/views/state/base.py | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/apiserver/plane/app/views/state/base.py b/apiserver/plane/app/views/state/base.py index 4c7a73c369e..419cd5a35b1 100644 --- a/apiserver/plane/app/views/state/base.py +++ b/apiserver/plane/app/views/state/base.py @@ -53,6 +53,23 @@ def create(self, request, slug, project_id): status=status.HTTP_400_BAD_REQUEST, ) + @allow_permission([ROLE.ADMIN, ROLE.MEMBER, ROLE.GUEST]) + def partial_update(self, request, slug, project_id, pk): + try: + state = State.objects.get( + pk=pk, project_id=project_id, workspace__slug=slug + ) + serializer = StateSerializer(state, data=request.data, partial=True) + if serializer.is_valid(): + serializer.save() + return Response(serializer.data, status=status.HTTP_200_OK) + return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST) + except IntegrityError as e: + if "already exists" in str(e): + return Response( + {"name": "The state name is already taken"}, + status=status.HTTP_400_BAD_REQUEST, + ) @allow_permission([ROLE.ADMIN, ROLE.MEMBER, ROLE.GUEST]) def list(self, request, slug, project_id):