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.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 . import models
@ -36,6 +38,8 @@ class IssueSerializer(WatchersValidator, serializers.ModelSerializer):
blocked_note_html = serializers.SerializerMethodField("get_blocked_note_html")
description_html = serializers.SerializerMethodField("get_description_html")
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:
model = models.Issue

View File

@ -93,6 +93,13 @@ class UserStoryStatusSerializer(serializers.ModelSerializer):
return attrs
class BasicUserStoryStatusSerializer(serializers.ModelSerializer):
class Meta:
model = models.UserStoryStatus
fields = ("name", "color")
class TaskStatusSerializer(serializers.ModelSerializer):
class Meta:
model = models.TaskStatus
@ -116,6 +123,13 @@ class TaskStatusSerializer(serializers.ModelSerializer):
return attrs
class BasicTaskStatusSerializerSerializer(serializers.ModelSerializer):
class Meta:
model = models.TaskStatus
fields = ("name", "color")
class SeveritySerializer(serializers.ModelSerializer):
class Meta:
model = models.Severity
@ -151,6 +165,13 @@ class IssueStatusSerializer(serializers.ModelSerializer):
return attrs
class BasicIssueStatusSerializer(serializers.ModelSerializer):
class Meta:
model = models.IssueStatus
fields = ("name", "color")
class IssueTypeSerializer(serializers.ModelSerializer):
class Meta:
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.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 . import models
@ -38,6 +40,8 @@ class TaskSerializer(WatchersValidator, serializers.ModelSerializer):
blocked_note_html = serializers.SerializerMethodField("get_blocked_note_html")
description_html = serializers.SerializerMethodField("get_description_html")
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:
model = models.Task

View File

@ -26,6 +26,8 @@ from taiga.projects.validators import ProjectExistsValidator
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 UserStoryStatusSerializer
from taiga.users.serializers import BasicInfoSerializer as UserBasicInfoSerializer
from . import models
@ -51,6 +53,8 @@ class UserStorySerializer(WatchersValidator, serializers.ModelSerializer):
origin_issue = serializers.SerializerMethodField("get_origin_issue")
blocked_note_html = serializers.SerializerMethodField("get_blocked_note_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:
model = models.UserStory

View File

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