# serializers.py in Osina app from rest_framework import serializers from osinacore.models import * class BusinessTypeSerializer(serializers.ModelSerializer): class Meta: model = BusinessType fields = "__all__" class StaffProfileSerializer(serializers.ModelSerializer): class Meta: model = StaffProfile fields = "__all__" class DepartmentSerializer(serializers.ModelSerializer): class Meta: model = Department fields = "__all__" class JobPositionSerializer(serializers.ModelSerializer): department = DepartmentSerializer() class Meta: model = JobPosition fields = "__all__" class UserSerializer(serializers.ModelSerializer): class Meta: model = User fields = "__all__" class CustomerProfileSerializer(serializers.ModelSerializer): user = UserSerializer() reference_name = serializers.CharField(source='reference.name', read_only=True) class Meta: model = CustomerProfile fields = "__all__" class StaffProfileSerializer(serializers.ModelSerializer): user = UserSerializer() class Meta: model = StaffProfile fields = "__all__" class ProjectTypeSerializer(serializers.ModelSerializer): class Meta: model = ProjectType fields = "__all__" class ProjectStatusSerializer(serializers.ModelSerializer): class Meta: model = ProjectStatus 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") class Meta: model = Project fields = "__all__" #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 class EpicSerializer(serializers.ModelSerializer): project = ProjectSerializer(read_only=True) class Meta: model = Epic fields = "__all__"