mirror of
https://github.com/makeplane/plane.git
synced 2026-05-23 01:29:08 -05:00
[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:
committed by
GitHub
parent
b72d18079f
commit
6ef62820fa
@@ -176,6 +176,10 @@ class ProjectViewSet(BaseViewSet):
|
||||
def retrieve(self, request, slug, pk):
|
||||
project = (
|
||||
self.get_queryset()
|
||||
.filter(
|
||||
project_projectmember__member=self.request.user,
|
||||
project_projectmember__is_active=True,
|
||||
)
|
||||
.filter(archived_at__isnull=True)
|
||||
.filter(pk=pk)
|
||||
.annotate(
|
||||
|
||||
@@ -136,6 +136,12 @@ class UserProjectInvitationsViewset(BaseViewSet):
|
||||
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 = workspace_member.workspace
|
||||
|
||||
|
||||
@@ -162,7 +162,7 @@ export const ProjectAuthWrapper: FC<IProjectAuthWrapper> = observer((props) => {
|
||||
// check if the project info is not found.
|
||||
if (!loader && !projectExists && projectId && !!hasPermissionToCurrentProject === false)
|
||||
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
|
||||
title="No such project exists"
|
||||
description="Try creating a new project"
|
||||
|
||||
Reference in New Issue
Block a user