Make minor improvements over Membership and Project serializers
parent
b60922422d
commit
debf641767
|
@ -24,7 +24,7 @@ from taiga.mdrender.service import render as mdrender
|
|||
from taiga.projects.validators import ProjectExistsValidator
|
||||
from taiga.projects.notifications.validators import WatchersValidator
|
||||
from taiga.projects.serializers import BasicIssueStatusSerializer
|
||||
from taiga.users.serializers import BasicInfoSerializer as UserBasicInfoSerializer
|
||||
from taiga.users.serializers import UserBasicInfoSerializer
|
||||
|
||||
from . import models
|
||||
|
||||
|
|
|
@ -27,6 +27,7 @@ from taiga.base.fields import TagsColorsField
|
|||
|
||||
from taiga.users.services import get_photo_or_gravatar_url
|
||||
from taiga.users.serializers import UserSerializer
|
||||
from taiga.users.serializers import UserBasicInfoSerializer
|
||||
from taiga.users.serializers import ProjectRoleSerializer
|
||||
from taiga.users.validators import RoleExistsValidator
|
||||
|
||||
|
@ -197,7 +198,7 @@ class MembershipSerializer(serializers.ModelSerializer):
|
|||
photo = serializers.SerializerMethodField("get_photo")
|
||||
project_name = serializers.SerializerMethodField("get_project_name")
|
||||
project_slug = serializers.SerializerMethodField("get_project_slug")
|
||||
invited_by = UserSerializer(read_only=True)
|
||||
invited_by = UserBasicInfoSerializer(read_only=True)
|
||||
|
||||
class Meta:
|
||||
model = models.Membership
|
||||
|
@ -346,11 +347,11 @@ class ProjectSerializer(serializers.ModelSerializer):
|
|||
|
||||
|
||||
class ProjectDetailSerializer(ProjectSerializer):
|
||||
roles = serializers.SerializerMethodField("get_roles")
|
||||
memberships = serializers.SerializerMethodField("get_memberships")
|
||||
us_statuses = UserStoryStatusSerializer(many=True, required=False) # User Stories
|
||||
points = PointsSerializer(many=True, required=False)
|
||||
|
||||
task_statuses = TaskStatusSerializer(many=True, required=False) # Tasks
|
||||
|
||||
issue_statuses = IssueStatusSerializer(many=True, required=False)
|
||||
issue_types = IssueTypeSerializer(many=True, required=False)
|
||||
priorities = PrioritySerializer(many=True, required=False) # Issues
|
||||
|
@ -362,7 +363,10 @@ class ProjectDetailSerializer(ProjectSerializer):
|
|||
many=True, required=False)
|
||||
issue_custom_attributes = IssueCustomAttributeSerializer(source="issuecustomattributes",
|
||||
many=True, required=False)
|
||||
users = serializers.SerializerMethodField("get_users")
|
||||
|
||||
roles = ProjectRoleSerializer(source="roles", many=True, read_only=True)
|
||||
users = UserSerializer(source="members", many=True, read_only=True)
|
||||
memberships = serializers.SerializerMethodField(method_name="get_memberships")
|
||||
|
||||
def get_memberships(self, obj):
|
||||
qs = obj.memberships.filter(user__isnull=False)
|
||||
|
@ -372,13 +376,6 @@ class ProjectDetailSerializer(ProjectSerializer):
|
|||
serializer = ProjectMembershipSerializer(qs, many=True)
|
||||
return serializer.data
|
||||
|
||||
def get_roles(self, obj):
|
||||
serializer = ProjectRoleSerializer(obj.roles.all(), many=True)
|
||||
return serializer.data
|
||||
|
||||
def get_users(self, obj):
|
||||
return UserSerializer(obj.members.all(), many=True).data
|
||||
|
||||
|
||||
class ProjectDetailAdminSerializer(ProjectDetailSerializer):
|
||||
class Meta:
|
||||
|
|
|
@ -27,7 +27,7 @@ from taiga.projects.milestones.validators import SprintExistsValidator
|
|||
from taiga.projects.tasks.validators import TaskExistsValidator
|
||||
from taiga.projects.notifications.validators import WatchersValidator
|
||||
from taiga.projects.serializers import BasicTaskStatusSerializerSerializer
|
||||
from taiga.users.serializers import BasicInfoSerializer as UserBasicInfoSerializer
|
||||
from taiga.users.serializers import UserBasicInfoSerializer
|
||||
|
||||
from . import models
|
||||
|
||||
|
|
|
@ -27,7 +27,7 @@ from taiga.projects.validators import UserStoryStatusExistsValidator
|
|||
from taiga.projects.userstories.validators import UserStoryExistsValidator
|
||||
from taiga.projects.notifications.validators import WatchersValidator
|
||||
from taiga.projects.serializers import BasicUserStoryStatusSerializer
|
||||
from taiga.users.serializers import BasicInfoSerializer as UserBasicInfoSerializer
|
||||
from taiga.users.serializers import UserBasicInfoSerializer
|
||||
|
||||
from . import models
|
||||
|
||||
|
|
|
@ -108,11 +108,12 @@ class UserAdminSerializer(UserSerializer):
|
|||
read_only_fields = ("id", "email")
|
||||
|
||||
|
||||
class BasicInfoSerializer(UserSerializer):
|
||||
class UserBasicInfoSerializer(UserSerializer):
|
||||
class Meta:
|
||||
model = User
|
||||
fields = ("username", "full_name_display","photo", "big_photo")
|
||||
|
||||
|
||||
class RecoverySerializer(serializers.Serializer):
|
||||
token = serializers.CharField(max_length=200)
|
||||
password = serializers.CharField(min_length=6)
|
||||
|
|
Loading…
Reference in New Issue