diff --git a/apiserver/plane/app/views/cycle/base.py b/apiserver/plane/app/views/cycle/base.py index 3b2985f18c5..c6682c15c39 100644 --- a/apiserver/plane/app/views/cycle/base.py +++ b/apiserver/plane/app/views/cycle/base.py @@ -47,6 +47,7 @@ User, Project, ProjectMember, + UserRecentVisit, ) from plane.utils.analytics_plot import burndown_plot from plane.bgtasks.recent_visited_task import recent_visited_task @@ -543,6 +544,13 @@ def destroy(self, request, slug, project_id, pk): entity_identifier=pk, project_id=project_id, ).delete() + # Delete the cycle from recent visits + UserRecentVisit.objects.filter( + project_id=project_id, + workspace__slug=slug, + entity_identifier=pk, + entity_name="cycle", + ).delete(soft=False) return Response(status=status.HTTP_204_NO_CONTENT) diff --git a/apiserver/plane/app/views/issue/base.py b/apiserver/plane/app/views/issue/base.py index 01f4068eeed..c37a3cad12f 100644 --- a/apiserver/plane/app/views/issue/base.py +++ b/apiserver/plane/app/views/issue/base.py @@ -44,6 +44,7 @@ Project, ProjectMember, CycleIssue, + UserRecentVisit, ) from plane.utils.grouper import ( issue_group_values, @@ -671,6 +672,13 @@ def destroy(self, request, slug, project_id, pk=None): issue = Issue.objects.get(workspace__slug=slug, project_id=project_id, pk=pk) issue.delete() + # delete the issue from recent visits + UserRecentVisit.objects.filter( + project_id=project_id, + workspace__slug=slug, + entity_identifier=pk, + entity_name="issue", + ).delete(soft=False) issue_activity.delay( type="issue.activity.deleted", requested_data=json.dumps({"issue_id": str(pk)}), diff --git a/apiserver/plane/app/views/module/base.py b/apiserver/plane/app/views/module/base.py index 3e3a4c2db72..d9118de0a75 100644 --- a/apiserver/plane/app/views/module/base.py +++ b/apiserver/plane/app/views/module/base.py @@ -54,6 +54,7 @@ ModuleLink, ModuleUserProperties, Project, + UserRecentVisit, ) from plane.utils.analytics_plot import burndown_plot from plane.utils.timezone_converter import user_timezone_converter @@ -808,6 +809,13 @@ def destroy(self, request, slug, project_id, pk): entity_identifier=pk, project_id=project_id, ).delete() + # delete the module from recent visits + UserRecentVisit.objects.filter( + project_id=project_id, + workspace__slug=slug, + entity_identifier=pk, + entity_name="module", + ).delete(soft=False) return Response(status=status.HTTP_204_NO_CONTENT) diff --git a/apiserver/plane/app/views/page/base.py b/apiserver/plane/app/views/page/base.py index ff6d3546279..f4fdc493911 100644 --- a/apiserver/plane/app/views/page/base.py +++ b/apiserver/plane/app/views/page/base.py @@ -33,6 +33,7 @@ ProjectMember, ProjectPage, Project, + UserRecentVisit, ) from plane.utils.error_codes import ERROR_CODES from ..base import BaseAPIView, BaseViewSet @@ -387,6 +388,13 @@ def destroy(self, request, slug, project_id, pk): entity_identifier=pk, entity_type="page", ).delete() + # Delete the page from recent visit + UserRecentVisit.objects.filter( + project_id=project_id, + workspace__slug=slug, + entity_identifier=pk, + entity_name="page", + ).delete(soft=False) return Response(status=status.HTTP_204_NO_CONTENT) diff --git a/apiserver/plane/app/views/view/base.py b/apiserver/plane/app/views/view/base.py index ca4048b7078..c2b401abf99 100644 --- a/apiserver/plane/app/views/view/base.py +++ b/apiserver/plane/app/views/view/base.py @@ -24,6 +24,7 @@ ProjectMember, Project, CycleIssue, + UserRecentVisit, ) from plane.utils.grouper import ( issue_group_values, @@ -495,6 +496,13 @@ def destroy(self, request, slug, project_id, pk): entity_identifier=pk, entity_type="view", ).delete() + # Delete the page from recent visit + UserRecentVisit.objects.filter( + project_id=project_id, + workspace__slug=slug, + entity_identifier=pk, + entity_name="view", + ).delete(soft=False) else: return Response( {"error": "Only admin or owner can delete the view"},