[WEB-2778] chore: private project join restriction (#6082)
* chore: private project join restriction * chore: update project not found container layout * chore: restrict other users to join private project * chore: add check condition using enum --------- Co-authored-by: Aaryan Khandelwal <aaryankhandu123@gmail.com>
This commit is contained in:
parent
b72d18079f
commit
6ef62820fa
3 changed files with 11 additions and 1 deletions
|
|
@ -176,6 +176,10 @@ class ProjectViewSet(BaseViewSet):
|
||||||
def retrieve(self, request, slug, pk):
|
def retrieve(self, request, slug, pk):
|
||||||
project = (
|
project = (
|
||||||
self.get_queryset()
|
self.get_queryset()
|
||||||
|
.filter(
|
||||||
|
project_projectmember__member=self.request.user,
|
||||||
|
project_projectmember__is_active=True,
|
||||||
|
)
|
||||||
.filter(archived_at__isnull=True)
|
.filter(archived_at__isnull=True)
|
||||||
.filter(pk=pk)
|
.filter(pk=pk)
|
||||||
.annotate(
|
.annotate(
|
||||||
|
|
|
||||||
|
|
@ -136,6 +136,12 @@ class UserProjectInvitationsViewset(BaseViewSet):
|
||||||
member=request.user, workspace__slug=slug, is_active=True
|
member=request.user, workspace__slug=slug, is_active=True
|
||||||
)
|
)
|
||||||
|
|
||||||
|
if workspace_member.role != ROLE.ADMIN:
|
||||||
|
return Response(
|
||||||
|
{"error": "You do not have permission to join the project"},
|
||||||
|
status=status.HTTP_403_FORBIDDEN,
|
||||||
|
)
|
||||||
|
|
||||||
workspace_role = workspace_member.role
|
workspace_role = workspace_member.role
|
||||||
workspace = workspace_member.workspace
|
workspace = workspace_member.workspace
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -162,7 +162,7 @@ export const ProjectAuthWrapper: FC<IProjectAuthWrapper> = observer((props) => {
|
||||||
// check if the project info is not found.
|
// check if the project info is not found.
|
||||||
if (!loader && !projectExists && projectId && !!hasPermissionToCurrentProject === false)
|
if (!loader && !projectExists && projectId && !!hasPermissionToCurrentProject === false)
|
||||||
return (
|
return (
|
||||||
<div className="container grid h-screen place-items-center bg-custom-background-100">
|
<div className="grid h-screen place-items-center bg-custom-background-100">
|
||||||
<EmptyState
|
<EmptyState
|
||||||
title="No such project exists"
|
title="No such project exists"
|
||||||
description="Try creating a new project"
|
description="Try creating a new project"
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue