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.validators import ProjectExistsValidator
|
||||||
from taiga.projects.notifications.validators import WatchersValidator
|
from taiga.projects.notifications.validators import WatchersValidator
|
||||||
from taiga.projects.serializers import BasicIssueStatusSerializer
|
from taiga.projects.serializers import BasicIssueStatusSerializer
|
||||||
from taiga.users.serializers import BasicInfoSerializer as UserBasicInfoSerializer
|
from taiga.users.serializers import UserBasicInfoSerializer
|
||||||
|
|
||||||
from . import models
|
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.services import get_photo_or_gravatar_url
|
||||||
from taiga.users.serializers import UserSerializer
|
from taiga.users.serializers import UserSerializer
|
||||||
|
from taiga.users.serializers import UserBasicInfoSerializer
|
||||||
from taiga.users.serializers import ProjectRoleSerializer
|
from taiga.users.serializers import ProjectRoleSerializer
|
||||||
from taiga.users.validators import RoleExistsValidator
|
from taiga.users.validators import RoleExistsValidator
|
||||||
|
|
||||||
|
@ -197,7 +198,7 @@ class MembershipSerializer(serializers.ModelSerializer):
|
||||||
photo = serializers.SerializerMethodField("get_photo")
|
photo = serializers.SerializerMethodField("get_photo")
|
||||||
project_name = serializers.SerializerMethodField("get_project_name")
|
project_name = serializers.SerializerMethodField("get_project_name")
|
||||||
project_slug = serializers.SerializerMethodField("get_project_slug")
|
project_slug = serializers.SerializerMethodField("get_project_slug")
|
||||||
invited_by = UserSerializer(read_only=True)
|
invited_by = UserBasicInfoSerializer(read_only=True)
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = models.Membership
|
model = models.Membership
|
||||||
|
@ -346,11 +347,11 @@ class ProjectSerializer(serializers.ModelSerializer):
|
||||||
|
|
||||||
|
|
||||||
class ProjectDetailSerializer(ProjectSerializer):
|
class ProjectDetailSerializer(ProjectSerializer):
|
||||||
roles = serializers.SerializerMethodField("get_roles")
|
|
||||||
memberships = serializers.SerializerMethodField("get_memberships")
|
|
||||||
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
|
||||||
|
|
||||||
issue_statuses = IssueStatusSerializer(many=True, required=False)
|
issue_statuses = IssueStatusSerializer(many=True, required=False)
|
||||||
issue_types = IssueTypeSerializer(many=True, required=False)
|
issue_types = IssueTypeSerializer(many=True, required=False)
|
||||||
priorities = PrioritySerializer(many=True, required=False) # Issues
|
priorities = PrioritySerializer(many=True, required=False) # Issues
|
||||||
|
@ -362,7 +363,10 @@ class ProjectDetailSerializer(ProjectSerializer):
|
||||||
many=True, required=False)
|
many=True, required=False)
|
||||||
issue_custom_attributes = IssueCustomAttributeSerializer(source="issuecustomattributes",
|
issue_custom_attributes = IssueCustomAttributeSerializer(source="issuecustomattributes",
|
||||||
many=True, required=False)
|
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):
|
def get_memberships(self, obj):
|
||||||
qs = obj.memberships.filter(user__isnull=False)
|
qs = obj.memberships.filter(user__isnull=False)
|
||||||
|
@ -372,13 +376,6 @@ class ProjectDetailSerializer(ProjectSerializer):
|
||||||
serializer = ProjectMembershipSerializer(qs, many=True)
|
serializer = ProjectMembershipSerializer(qs, many=True)
|
||||||
return serializer.data
|
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 ProjectDetailAdminSerializer(ProjectDetailSerializer):
|
||||||
class Meta:
|
class Meta:
|
||||||
|
|
|
@ -27,7 +27,7 @@ from taiga.projects.milestones.validators import SprintExistsValidator
|
||||||
from taiga.projects.tasks.validators import TaskExistsValidator
|
from taiga.projects.tasks.validators import TaskExistsValidator
|
||||||
from taiga.projects.notifications.validators import WatchersValidator
|
from taiga.projects.notifications.validators import WatchersValidator
|
||||||
from taiga.projects.serializers import BasicTaskStatusSerializerSerializer
|
from taiga.projects.serializers import BasicTaskStatusSerializerSerializer
|
||||||
from taiga.users.serializers import BasicInfoSerializer as UserBasicInfoSerializer
|
from taiga.users.serializers import UserBasicInfoSerializer
|
||||||
|
|
||||||
from . import models
|
from . import models
|
||||||
|
|
||||||
|
|
|
@ -27,7 +27,7 @@ from taiga.projects.validators import UserStoryStatusExistsValidator
|
||||||
from taiga.projects.userstories.validators import UserStoryExistsValidator
|
from taiga.projects.userstories.validators import UserStoryExistsValidator
|
||||||
from taiga.projects.notifications.validators import WatchersValidator
|
from taiga.projects.notifications.validators import WatchersValidator
|
||||||
from taiga.projects.serializers import BasicUserStoryStatusSerializer
|
from taiga.projects.serializers import BasicUserStoryStatusSerializer
|
||||||
from taiga.users.serializers import BasicInfoSerializer as UserBasicInfoSerializer
|
from taiga.users.serializers import UserBasicInfoSerializer
|
||||||
|
|
||||||
from . import models
|
from . import models
|
||||||
|
|
||||||
|
|
|
@ -108,11 +108,12 @@ class UserAdminSerializer(UserSerializer):
|
||||||
read_only_fields = ("id", "email")
|
read_only_fields = ("id", "email")
|
||||||
|
|
||||||
|
|
||||||
class BasicInfoSerializer(UserSerializer):
|
class UserBasicInfoSerializer(UserSerializer):
|
||||||
class Meta:
|
class Meta:
|
||||||
model = User
|
model = User
|
||||||
fields = ("username", "full_name_display","photo", "big_photo")
|
fields = ("username", "full_name_display","photo", "big_photo")
|
||||||
|
|
||||||
|
|
||||||
class RecoverySerializer(serializers.Serializer):
|
class RecoverySerializer(serializers.Serializer):
|
||||||
token = serializers.CharField(max_length=200)
|
token = serializers.CharField(max_length=200)
|
||||||
password = serializers.CharField(min_length=6)
|
password = serializers.CharField(min_length=6)
|
||||||
|
|
Loading…
Reference in New Issue