mirror of
https://github.com/makeplane/plane
synced 2024-06-14 14:31:34 +00:00
chore: project active filter (#3971)
This commit is contained in:
parent
0bc4b6cece
commit
42b524b16a
@ -88,7 +88,10 @@ class ProjectViewSet(WebhookMixin, BaseViewSet):
|
|||||||
.get_queryset()
|
.get_queryset()
|
||||||
.filter(workspace__slug=self.kwargs.get("slug"))
|
.filter(workspace__slug=self.kwargs.get("slug"))
|
||||||
.filter(
|
.filter(
|
||||||
Q(project_projectmember__member=self.request.user)
|
Q(
|
||||||
|
project_projectmember__member=self.request.user,
|
||||||
|
project_projectmember__is_active=True,
|
||||||
|
)
|
||||||
| Q(network=2)
|
| Q(network=2)
|
||||||
)
|
)
|
||||||
.select_related(
|
.select_related(
|
||||||
@ -173,10 +176,7 @@ class ProjectViewSet(WebhookMixin, BaseViewSet):
|
|||||||
for field in request.GET.get("fields", "").split(",")
|
for field in request.GET.get("fields", "").split(",")
|
||||||
if field
|
if field
|
||||||
]
|
]
|
||||||
projects = (
|
projects = self.get_queryset().order_by("sort_order", "name")
|
||||||
self.get_queryset()
|
|
||||||
.order_by("sort_order", "name")
|
|
||||||
)
|
|
||||||
if request.GET.get("per_page", False) and request.GET.get(
|
if request.GET.get("per_page", False) and request.GET.get(
|
||||||
"cursor", False
|
"cursor", False
|
||||||
):
|
):
|
||||||
@ -576,9 +576,11 @@ class ProjectJoinEndpoint(BaseAPIView):
|
|||||||
_ = WorkspaceMember.objects.create(
|
_ = WorkspaceMember.objects.create(
|
||||||
workspace_id=project_invite.workspace_id,
|
workspace_id=project_invite.workspace_id,
|
||||||
member=user,
|
member=user,
|
||||||
role=15
|
role=(
|
||||||
if project_invite.role >= 15
|
15
|
||||||
else project_invite.role,
|
if project_invite.role >= 15
|
||||||
|
else project_invite.role
|
||||||
|
),
|
||||||
)
|
)
|
||||||
else:
|
else:
|
||||||
# Else make him active
|
# Else make him active
|
||||||
@ -685,9 +687,14 @@ class ProjectMemberViewSet(BaseViewSet):
|
|||||||
)
|
)
|
||||||
|
|
||||||
bulk_project_members = []
|
bulk_project_members = []
|
||||||
member_roles = {member.get("member_id"): member.get("role") for member in members}
|
member_roles = {
|
||||||
|
member.get("member_id"): member.get("role") for member in members
|
||||||
|
}
|
||||||
# Update roles in the members array based on the member_roles dictionary
|
# Update roles in the members array based on the member_roles dictionary
|
||||||
for project_member in ProjectMember.objects.filter(project_id=project_id, member_id__in=[member.get("member_id") for member in members]):
|
for project_member in ProjectMember.objects.filter(
|
||||||
|
project_id=project_id,
|
||||||
|
member_id__in=[member.get("member_id") for member in members],
|
||||||
|
):
|
||||||
project_member.role = member_roles[str(project_member.member_id)]
|
project_member.role = member_roles[str(project_member.member_id)]
|
||||||
project_member.is_active = True
|
project_member.is_active = True
|
||||||
bulk_project_members.append(project_member)
|
bulk_project_members.append(project_member)
|
||||||
@ -710,9 +717,9 @@ class ProjectMemberViewSet(BaseViewSet):
|
|||||||
role=member.get("role", 10),
|
role=member.get("role", 10),
|
||||||
project_id=project_id,
|
project_id=project_id,
|
||||||
workspace_id=project.workspace_id,
|
workspace_id=project.workspace_id,
|
||||||
sort_order=sort_order[0] - 10000
|
sort_order=(
|
||||||
if len(sort_order)
|
sort_order[0] - 10000 if len(sort_order) else 65535
|
||||||
else 65535,
|
),
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
bulk_issue_props.append(
|
bulk_issue_props.append(
|
||||||
@ -733,7 +740,10 @@ class ProjectMemberViewSet(BaseViewSet):
|
|||||||
bulk_issue_props, batch_size=10, ignore_conflicts=True
|
bulk_issue_props, batch_size=10, ignore_conflicts=True
|
||||||
)
|
)
|
||||||
|
|
||||||
project_members = ProjectMember.objects.filter(project_id=project_id, member_id__in=[member.get("member_id") for member in members])
|
project_members = ProjectMember.objects.filter(
|
||||||
|
project_id=project_id,
|
||||||
|
member_id__in=[member.get("member_id") for member in members],
|
||||||
|
)
|
||||||
serializer = ProjectMemberRoleSerializer(project_members, many=True)
|
serializer = ProjectMemberRoleSerializer(project_members, many=True)
|
||||||
return Response(serializer.data, status=status.HTTP_201_CREATED)
|
return Response(serializer.data, status=status.HTTP_201_CREATED)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user