Project api should return all roles

remotes/origin/enhancement/email-actions
Anler Hp 2014-06-27 12:22:41 +02:00
parent 19a8dc14c8
commit 95a708dd59
1 changed files with 6 additions and 13 deletions

View File

@ -123,21 +123,14 @@ class ProjectDetailSerializer(ProjectSerializer):
return serializer.data return serializer.data
def get_list_of_roles(self, obj): def get_list_of_roles(self, obj):
roles_list = [] serializer = ProjectRoleSerializer(obj.roles.all(), many=True)
return serializer.data
if obj and obj.memberships:
roles_list = [{
"id": role["role__id"],
"name": role["role__name"],
"slug": role["role__slug"],
"order": role["role__order"],
"computable": role["role__computable"],
} for role in obj.memberships.values("role__id", "role__name", "role__slug", "role__order",
"role__computable")
.order_by("role__order", "role__id")
.distinct("role__order", "role__id")]
return roles_list class ProjectRoleSerializer(serializers.ModelSerializer):
class Meta:
model = Role
fields = ('id', 'name', 'slug', 'order', 'computable')
class RoleSerializer(serializers.ModelSerializer): class RoleSerializer(serializers.ModelSerializer):