From abad9a431a62dc592eed0ae0a0d366cf9775dae2 Mon Sep 17 00:00:00 2001 From: AlanJaeger Date: Tue, 11 Feb 2025 15:28:54 -0300 Subject: [PATCH 1/2] feature: verify if principal project already exists in org --- chats/apps/api/v1/projects/viewsets.py | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/chats/apps/api/v1/projects/viewsets.py b/chats/apps/api/v1/projects/viewsets.py index 0b4c75d0..c1daf7ed 100644 --- a/chats/apps/api/v1/projects/viewsets.py +++ b/chats/apps/api/v1/projects/viewsets.py @@ -467,6 +467,17 @@ def partial_update(self, request, uuid=None): def set_project_as_principal(self, request, *args, **kwargs): project = self.get_object() + existing_principal = ( + Project.objects.filter(org=project.org, config__its_principal=True) + .exclude(pk=project.pk) + .exists() + ) + if existing_principal: + return Response( + {"detail": "Já existe um projeto principal nesta organização."}, + status=status.HTTP_400_BAD_REQUEST, + ) + config = project.config or {} config["its_principal"] = True project.config = config @@ -486,11 +497,8 @@ def set_project_as_principal(self, request, *args, **kwargs): def integrate_sectors(self, request, *args, **kwargs): try: project = Project.objects.get(uuid=request.query_params["project"]) - print("projeto principal", project) integrations = IntegratedTicketers() - print("classe de integracao", integrations) - integrations.integrate_ticketer(project) integrations.integrate_topic(project) except Exception as error: From 040a8ee2dd3d64fcfbc9fe9cda7b2ae64482d35b Mon Sep 17 00:00:00 2001 From: AlanJaeger Date: Tue, 11 Feb 2025 15:31:07 -0300 Subject: [PATCH 2/2] feature: changing detail message --- chats/apps/api/v1/projects/viewsets.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/chats/apps/api/v1/projects/viewsets.py b/chats/apps/api/v1/projects/viewsets.py index c1daf7ed..9b440d7c 100644 --- a/chats/apps/api/v1/projects/viewsets.py +++ b/chats/apps/api/v1/projects/viewsets.py @@ -474,7 +474,9 @@ def set_project_as_principal(self, request, *args, **kwargs): ) if existing_principal: return Response( - {"detail": "Já existe um projeto principal nesta organização."}, + { + "detail": "There is already a principal project in this organization." + }, status=status.HTTP_400_BAD_REQUEST, )