Salim Elliye 2 weeks ago
parent 27471ae5a3
commit 005637b6d3

@ -67,23 +67,31 @@ class ProjectStatusSerializer(serializers.ModelSerializer):
fields = "__all__"
class ProjectSerializer(serializers.ModelSerializer):
types = ProjectTypeSerializer(read_only=True, many=True, source="project_type")
members = StaffProfileSerializer(read_only=True, many=True)
manager = StaffProfileSerializer(read_only=True, many=False)
statuses = ProjectStatusSerializer(read_only=True, many=True, source="projectstatus_set")
#types = ProjectTypeSerializer(read_only=True, many=True, source="project_type")
#members = StaffProfileSerializer(read_only=True, many=True)
#manager = StaffProfileSerializer(read_only=True, many=False)
#statuses = ProjectStatusSerializer(read_only=True, many=True, source="projectstatus_set")
class Meta:
model = Project
fields = "__all__"
def to_representation(self, instance):
representation = super().to_representation(instance)
#def to_representation(self, instance):
#representation = super().to_representation(instance)
# Exclude manager from members list
manager_id = representation.get("manager", {}).get("id")
if manager_id:
representation["members"] = [
member for member in representation["members"]
if member.get("id") != manager_id
]
return representation
#manager_id = representation.get("manager", {}).get("id")
#if manager_id:
#representation["members"] = [
#member for member in representation["members"]
#if member.get("id") != manager_id
#]
#return representation
class EpicSerializer(serializers.ModelSerializer):
project = ProjectSerializer(read_only=True)
class Meta:
model = Epic
fields = "__all__"

@ -6,4 +6,5 @@ urlpatterns = [
path("users/", UserProfilesAPIView.as_view(), name="users-with-profiles"),
path("utilities/", BusinessDataAPIView.as_view(), name="utilities"),
path("projects/", ProjectsAPIView.as_view(), name="projects"),
path("epics/", EpicsAPIView.as_view(), name="epics"),
]

@ -72,3 +72,18 @@ class ProjectsAPIView(APIView):
data.append(project_data)
return Response(data, status=status.HTTP_200_OK)
class EpicsAPIView(APIView):
def get(self, request):
data = []
epics = Epic.objects.all()
for epic in epics:
epic_data = EpicSerializer(epic).data
data.append(epic_data)
return Response(data, status=status.HTTP_200_OK)
Loading…
Cancel
Save