Skip to content

Commit

Permalink
[WEB-2092] chore: favorite delete changes (makeplane#5302)
Browse files Browse the repository at this point in the history
* chore: favorite delete changes

* chore: removed deploy board deletion

* chore: favorite entity deletion
  • Loading branch information
NarayanBavisetti authored Aug 5, 2024
1 parent 91e4da5 commit 07574b4
Show file tree
Hide file tree
Showing 7 changed files with 64 additions and 0 deletions.
7 changes: 7 additions & 0 deletions apiserver/plane/api/views/cycle.py
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@
IssueAttachment,
IssueLink,
ProjectMember,
UserFavorite,
)
from plane.utils.analytics_plot import burndown_plot

Expand Down Expand Up @@ -408,6 +409,12 @@ def delete(self, request, slug, project_id, pk):
CycleIssue.objects.filter(
cycle_id=self.kwargs.get("pk"),
).delete()
# Delete the user favorite cycle
UserFavorite.objects.filter(
entity_type="cycle",
entity_identifier=pk,
project_id=project_id,
).delete()
return Response(status=status.HTTP_204_NO_CONTENT)


Expand Down
8 changes: 8 additions & 0 deletions apiserver/plane/api/views/module.py
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@
ModuleLink,
Project,
ProjectMember,
UserFavorite,
)

from .base import BaseAPIView
Expand Down Expand Up @@ -304,6 +305,13 @@ def delete(self, request, slug, project_id, pk):
# Delete the module issues
ModuleIssue.objects.filter(
module=pk,
project_id=project_id,
).delete()
# Delete the user favorite module
UserFavorite.objects.filter(
entity_type="module",
entity_identifier=pk,
project_id=project_id,
).delete()
return Response(status=status.HTTP_204_NO_CONTENT)

Expand Down
7 changes: 7 additions & 0 deletions apiserver/plane/api/views/project.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@
ProjectMember,
State,
Workspace,
UserFavorite,
)
from plane.bgtasks.webhook_task import model_activity
from .base import BaseAPIView
Expand Down Expand Up @@ -356,6 +357,12 @@ def patch(self, request, slug, pk):

def delete(self, request, slug, pk):
project = Project.objects.get(pk=pk, workspace__slug=slug)
# Delete the user favorite cycle
UserFavorite.objects.filter(
entity_type="project",
entity_identifier=pk,
project_id=pk,
).delete()
project.delete()
return Response(status=status.HTTP_204_NO_CONTENT)

Expand Down
7 changes: 7 additions & 0 deletions apiserver/plane/app/views/cycle/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -1086,6 +1086,13 @@ def destroy(self, request, slug, project_id, pk):
CycleIssue.objects.filter(
cycle_id=self.kwargs.get("pk"),
).delete()
# Delete the user favorite cycle
UserFavorite.objects.filter(
user=request.user,
entity_type="cycle",
entity_identifier=pk,
project_id=project_id,
).delete()
return Response(status=status.HTTP_204_NO_CONTENT)


Expand Down
14 changes: 14 additions & 0 deletions apiserver/plane/app/views/module/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -444,6 +444,12 @@ def retrieve(self, request, slug, project_id, pk):
)
)

if not queryset.exists():
return Response(
{"error": "Module not found"},
status=status.HTTP_404_NOT_FOUND,
)

estimate_type = Project.objects.filter(
workspace__slug=slug,
pk=project_id,
Expand Down Expand Up @@ -776,6 +782,14 @@ def destroy(self, request, slug, project_id, pk):
# Delete the module issues
ModuleIssue.objects.filter(
module=pk,
project_id=project_id,
).delete()
# Delete the user favorite module
UserFavorite.objects.filter(
user=request.user,
entity_type="module",
entity_identifier=pk,
project_id=project_id,
).delete()
return Response(status=status.HTTP_204_NO_CONTENT)

Expand Down
7 changes: 7 additions & 0 deletions apiserver/plane/app/views/page/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -359,6 +359,13 @@ def destroy(self, request, slug, project_id, pk):
).update(parent=None)

page.delete()
# Delete the user favorite page
UserFavorite.objects.filter(
project=project_id,
workspace__slug=slug,
entity_identifier=pk,
entity_type="page",
).delete()
return Response(status=status.HTTP_204_NO_CONTENT)


Expand Down
14 changes: 14 additions & 0 deletions apiserver/plane/app/views/view/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -141,6 +141,13 @@ def destroy(self, request, slug, pk):
or workspace_view.owned_by == request.user
):
workspace_view.delete()
# Delete the user favorite view
UserFavorite.objects.filter(
workspace__slug=slug,
entity_identifier=pk,
project__isnull=True,
entity_type="view",
).delete()
else:
return Response(
{"error": "Only admin or owner can delete the view"},
Expand Down Expand Up @@ -437,6 +444,13 @@ def destroy(self, request, slug, project_id, pk):
or project_view.owned_by_id == request.user.id
):
project_view.delete()
# Delete the user favorite view
UserFavorite.objects.filter(
project_id=project_id,
workspace__slug=slug,
entity_identifier=pk,
entity_type="view",
).delete()
else:
return Response(
{"error": "Only admin or owner can delete the view"},
Expand Down

0 comments on commit 07574b4

Please sign in to comment.