You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

77 lines
1.9 KiB
Python

# 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__"