Add active memberships to the project detail serializer

remotes/origin/enhancement/email-actions
David Barragán Merino 2014-02-05 14:21:28 +01:00
parent 22dcf032cc
commit 791f8fe592
1 changed files with 6 additions and 0 deletions

View File

@ -98,6 +98,7 @@ class ProjectMembershipSerializer(serializers.ModelSerializer):
role_name = serializers.CharField(source='role.name', required=False) role_name = serializers.CharField(source='role.name', required=False)
full_name = serializers.CharField(source='user.get_full_name', required=False) full_name = serializers.CharField(source='user.get_full_name', required=False)
color = serializers.CharField(source='user.color', required=False) color = serializers.CharField(source='user.color', required=False)
class Meta: class Meta:
model = models.Membership model = models.Membership
@ -115,6 +116,7 @@ class ProjectDetailSerializer(ProjectSerializer):
list_of_milestones = serializers.SerializerMethodField("get_list_of_milestones") list_of_milestones = serializers.SerializerMethodField("get_list_of_milestones")
roles = serializers.SerializerMethodField("get_list_of_roles") roles = serializers.SerializerMethodField("get_list_of_roles")
memberships = ProjectMembershipSerializer(many=True, required=False) memberships = ProjectMembershipSerializer(many=True, required=False)
active_memberships = serializers.SerializerMethodField("get_active_membership")
us_statuses = UserStoryStatusSerializer(many=True, required=False) # User Stories us_statuses = UserStoryStatusSerializer(many=True, required=False) # User Stories
points = PointsSerializer(many=True, required=False) points = PointsSerializer(many=True, required=False)
task_statuses = TaskStatusSerializer(many=True, required=False) # Tasks task_statuses = TaskStatusSerializer(many=True, required=False) # Tasks
@ -124,6 +126,10 @@ class ProjectDetailSerializer(ProjectSerializer):
issue_types = IssueTypeSerializer(many=True, required=False) issue_types = IssueTypeSerializer(many=True, required=False)
#question_statuses = QuestionStatusSerializer(many=True, required=False) # Questions #question_statuses = QuestionStatusSerializer(many=True, required=False) # Questions
def get_active_membership(self, obj):
serializer = ProjectMembershipSerializer(obj.memberships.filter(user__isnull=False), many=True)
return serializer.data
def get_list_of_roles(self, obj): def get_list_of_roles(self, obj):
roles_list = [] roles_list = []