Skip to content

Commit

Permalink
fix: user role and member count for new workspace
Browse files Browse the repository at this point in the history
  • Loading branch information
prateekshourya29 committed Feb 10, 2025
1 parent c2ba337 commit 4c91f4a
Show file tree
Hide file tree
Showing 4 changed files with 17 additions and 22 deletions.
1 change: 0 additions & 1 deletion apiserver/plane/app/serializers/workspace.py
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,6 @@

class WorkSpaceSerializer(DynamicBaseSerializer):
total_members = serializers.IntegerField(read_only=True)
total_issues = serializers.IntegerField(read_only=True)
logo_url = serializers.CharField(read_only=True)
role = serializers.IntegerField(read_only=True)

Expand Down
35 changes: 16 additions & 19 deletions apiserver/plane/app/views/workspace/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -64,12 +64,6 @@ def get_queryset(self):
.values("count")
)

issue_count = (
Issue.issue_objects.filter(workspace=OuterRef("id"))
.order_by()
.annotate(count=Func(F("id"), function="Count"))
.values("count")
)
return (
self.filter_queryset(super().get_queryset().select_related("owner"))
.order_by("name")
Expand All @@ -78,8 +72,6 @@ def get_queryset(self):
workspace_member__is_active=True,
)
.annotate(total_members=member_count)
.annotate(total_issues=issue_count)
.select_related("owner")
)

def create(self, request):
Expand Down Expand Up @@ -125,7 +117,21 @@ def create(self, request):
role=20,
company_role=request.data.get("company_role", ""),
)
return Response(serializer.data, status=status.HTTP_201_CREATED)

# Get total members and role
total_members=WorkspaceMember.objects.filter(workspace_id=serializer.data["id"]).count()
role=(
WorkspaceMember.objects.filter(
workspace_id=serializer.data["id"],
member=request.user,
is_active=True,
).values("role")
)
data = serializer.data
data["total_members"] = total_members
data["role"] = role.first().get("role")

return Response(data, status=status.HTTP_201_CREATED)
return Response(
[serializer.errors[error][0] for error in serializer.errors],
status=status.HTTP_400_BAD_REQUEST,
Expand Down Expand Up @@ -168,13 +174,6 @@ def get(self, request):
.values("count")
)

issue_count = (
Issue.issue_objects.filter(workspace=OuterRef("id"))
.order_by()
.annotate(count=Func(F("id"), function="Count"))
.values("count")
)

role = (
WorkspaceMember.objects.filter(workspace=OuterRef("id"), member=request.user, is_active=True)
.values("role")
Expand All @@ -189,9 +188,7 @@ def get(self, request):
),
)
)
.select_related("owner")
.annotate(total_members=member_count)
.annotate(total_issues=issue_count, role=role)
.annotate(role=role, total_members=member_count)
.filter(
workspace_member__member=request.user, workspace_member__is_active=True
)
Expand Down
1 change: 0 additions & 1 deletion packages/types/src/workspace.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,6 @@ export interface IWorkspace {
readonly created_by: string;
readonly updated_by: string;
organization_size: string;
total_issues: number;
total_projects?: number;
current_plan?: string;
role: number;
Expand Down
2 changes: 1 addition & 1 deletion web/app/layout.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ export default function RootLayout({ children }: { children: React.ReactNode })
<link rel="preload" href={`${API_BASE_URL}/api/users/me/settings/ `} as="fetch" crossOrigin="use-credentials" />
<link
rel="preload"
href={`${API_BASE_URL}/api/users/me/workspaces/`}
href={`${API_BASE_URL}/api/users/me/workspaces/?v=${Date.now()}`}
as="fetch"
crossOrigin="use-credentials"
/>
Expand Down

0 comments on commit 4c91f4a

Please sign in to comment.