Merge pull request #377 from taigaio/issue/2785/fix-user-mentions
Issue/2785/fix user mentionsremotes/origin/enhancement/email-actions
commit
4843668a03
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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):
|
||||
|
|
Loading…
Reference in New Issue