Adding extra fields to userstories, tasks and issues APIs required in home

remotes/origin/enhancement/email-actions
Alejandro Alonso 2015-04-28 12:10:53 +02:00 committed by David Barragán Merino
parent dd43afa7ed
commit 01eae65564
5 changed files with 38 additions and 0 deletions

View File

@ -23,6 +23,8 @@ from taiga.base.neighbors import NeighborsSerializerMixin
from taiga.mdrender.service import render as mdrender 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.users.serializers import BasicInfoSerializer as UserBasicInfoSerializer
from . import models from . import models
@ -36,6 +38,8 @@ class IssueSerializer(WatchersValidator, serializers.ModelSerializer):
blocked_note_html = serializers.SerializerMethodField("get_blocked_note_html") blocked_note_html = serializers.SerializerMethodField("get_blocked_note_html")
description_html = serializers.SerializerMethodField("get_description_html") description_html = serializers.SerializerMethodField("get_description_html")
votes = serializers.SerializerMethodField("get_votes_number") votes = serializers.SerializerMethodField("get_votes_number")
status_extra_info = BasicIssueStatusSerializer(source="status", required=False, read_only=True)
assigned_to_extra_info = UserBasicInfoSerializer(source="assigned_to", required=False, read_only=True)
class Meta: class Meta:
model = models.Issue model = models.Issue

View File

@ -93,6 +93,13 @@ class UserStoryStatusSerializer(serializers.ModelSerializer):
return attrs return attrs
class BasicUserStoryStatusSerializer(serializers.ModelSerializer):
class Meta:
model = models.UserStoryStatus
fields = ("name", "color")
class TaskStatusSerializer(serializers.ModelSerializer): class TaskStatusSerializer(serializers.ModelSerializer):
class Meta: class Meta:
model = models.TaskStatus model = models.TaskStatus
@ -116,6 +123,13 @@ class TaskStatusSerializer(serializers.ModelSerializer):
return attrs return attrs
class BasicTaskStatusSerializerSerializer(serializers.ModelSerializer):
class Meta:
model = models.TaskStatus
fields = ("name", "color")
class SeveritySerializer(serializers.ModelSerializer): class SeveritySerializer(serializers.ModelSerializer):
class Meta: class Meta:
model = models.Severity model = models.Severity
@ -151,6 +165,13 @@ class IssueStatusSerializer(serializers.ModelSerializer):
return attrs return attrs
class BasicIssueStatusSerializer(serializers.ModelSerializer):
class Meta:
model = models.IssueStatus
fields = ("name", "color")
class IssueTypeSerializer(serializers.ModelSerializer): class IssueTypeSerializer(serializers.ModelSerializer):
class Meta: class Meta:
model = models.IssueType model = models.IssueType

View File

@ -26,6 +26,8 @@ from taiga.projects.validators import ProjectExistsValidator
from taiga.projects.milestones.validators import SprintExistsValidator 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.users.serializers import BasicInfoSerializer as UserBasicInfoSerializer
from . import models from . import models
@ -38,6 +40,8 @@ class TaskSerializer(WatchersValidator, serializers.ModelSerializer):
blocked_note_html = serializers.SerializerMethodField("get_blocked_note_html") blocked_note_html = serializers.SerializerMethodField("get_blocked_note_html")
description_html = serializers.SerializerMethodField("get_description_html") description_html = serializers.SerializerMethodField("get_description_html")
is_closed = serializers.SerializerMethodField("get_is_closed") is_closed = serializers.SerializerMethodField("get_is_closed")
status_extra_info = BasicTaskStatusSerializerSerializer(source="status", required=False, read_only=True)
assigned_to_extra_info = UserBasicInfoSerializer(source="assigned_to", required=False, read_only=True)
class Meta: class Meta:
model = models.Task model = models.Task

View File

@ -26,6 +26,8 @@ from taiga.projects.validators import ProjectExistsValidator
from taiga.projects.validators import UserStoryStatusExistsValidator 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 UserStoryStatusSerializer
from taiga.users.serializers import BasicInfoSerializer as UserBasicInfoSerializer
from . import models from . import models
@ -51,6 +53,8 @@ class UserStorySerializer(WatchersValidator, serializers.ModelSerializer):
origin_issue = serializers.SerializerMethodField("get_origin_issue") origin_issue = serializers.SerializerMethodField("get_origin_issue")
blocked_note_html = serializers.SerializerMethodField("get_blocked_note_html") blocked_note_html = serializers.SerializerMethodField("get_blocked_note_html")
description_html = serializers.SerializerMethodField("get_description_html") description_html = serializers.SerializerMethodField("get_description_html")
status_extra_info = UserStoryStatusSerializer(source="status", required=False, read_only=True)
assigned_to_extra_info = UserBasicInfoSerializer(source="assigned_to", required=False, read_only=True)
class Meta: class Meta:
model = models.UserStory model = models.UserStory

View File

@ -108,6 +108,11 @@ class UserAdminSerializer(UserSerializer):
read_only_fields = ("id", "email") read_only_fields = ("id", "email")
class BasicInfoSerializer(UserSerializer):
class Meta:
model = User
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)