Merge pull request #377 from taigaio/issue/2785/fix-user-mentions

Issue/2785/fix user mentions
remotes/origin/enhancement/email-actions
Alejandro 2015-06-26 05:35:43 -07:00
commit 4843668a03
5 changed files with 22 additions and 2 deletions

View File

@ -17,17 +17,34 @@
from taiga.base.api import serializers
from taiga.base.fields import JsonField, I18NJsonField
from taiga.users.services import get_photo_or_gravatar_url
from . import models
HISTORY_ENTRY_I18N_FIELDS=("points", "status", "severity", "priority", "type")
class HistoryEntrySerializer(serializers.ModelSerializer):
diff = JsonField()
snapshot = JsonField()
values = I18NJsonField(i18n_fields=HISTORY_ENTRY_I18N_FIELDS)
values_diff = I18NJsonField(i18n_fields=HISTORY_ENTRY_I18N_FIELDS)
user = JsonField()
user = serializers.SerializerMethodField("get_user")
delete_comment_user = JsonField()
class Meta:
model = models.HistoryEntry
def get_user(self, entry):
user = {"pk": None, "username": None, "name": None, "photo": None, "is_active": False}
user.update(entry.user)
user["photo"] = get_photo_or_gravatar_url(entry.owner)
user["is_active"] = entry.owner.is_active
if entry.owner.is_active or entry.owner.is_system:
user["name"] = entry.owner.get_full_name()
user["username"] = entry.owner.username
return user

View File

@ -40,6 +40,7 @@ class IssueSerializer(WatchersValidator, serializers.ModelSerializer):
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)
owner_extra_info = UserBasicInfoSerializer(source="owner", required=False, read_only=True)
class Meta:
model = models.Issue

View File

@ -42,6 +42,7 @@ class TaskSerializer(WatchersValidator, serializers.ModelSerializer):
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)
owner_extra_info = UserBasicInfoSerializer(source="owner", required=False, read_only=True)
class Meta:
model = models.Task

View File

@ -55,6 +55,7 @@ class UserStorySerializer(WatchersValidator, serializers.ModelSerializer):
description_html = serializers.SerializerMethodField("get_description_html")
status_extra_info = BasicUserStoryStatusSerializer(source="status", required=False, read_only=True)
assigned_to_extra_info = UserBasicInfoSerializer(source="assigned_to", required=False, read_only=True)
owner_extra_info = UserBasicInfoSerializer(source="owner", required=False, read_only=True)
class Meta:
model = models.UserStory

View File

@ -111,7 +111,7 @@ class UserAdminSerializer(UserSerializer):
class UserBasicInfoSerializer(UserSerializer):
class Meta:
model = User
fields = ("username", "full_name_display","photo", "big_photo")
fields = ("username", "full_name_display","photo", "big_photo", "is_active")
class RecoverySerializer(serializers.Serializer):