Merge pull request #389 from taigaio/issue/2959/fix-user-profile-links-in-timeline

Add is_profile_visible to timeline_entty.user object
remotes/origin/enhancement/email-actions
David Barragán Merino 2015-07-03 14:58:28 +02:00
commit 37c41624f9
2 changed files with 29 additions and 1 deletions

View File

@ -43,7 +43,8 @@ class TimelineDataJsonField(serializers.WritableField):
"photo": get_photo_or_gravatar_url(user),
"big_photo": get_big_photo_or_gravatar_url(user),
"username": user.username,
"date_joined": user.date_joined,
"is_profile_visible": user.is_active and not user.is_system,
"date_joined": user.date_joined
}
except User.DoesNotExist:
pass

View File

@ -22,6 +22,7 @@ from .. import factories
from taiga.projects.history import services as history_services
from taiga.timeline import service
from taiga.timeline.models import Timeline
from taiga.timeline.serializers import TimelineSerializer
pytestmark = pytest.mark.django_db
@ -391,3 +392,29 @@ def test_watchers_to_user_story_timeline():
user_timeline = service.get_profile_timeline(membership.user)
assert user_timeline[0].event_type == "userstories.userstory.create"
assert user_timeline[0].data["userstory"]["subject"] == "test us timeline"
def test_user_data_for_system_users():
user_story = factories.UserStoryFactory.create(subject="test us timeline")
history_services.take_snapshot(user_story, user=user_story.owner)
project_timeline = service.get_project_timeline(user_story.project)
serialized_obj = TimelineSerializer(project_timeline[0])
serialized_obj.data["data"]["user"]["is_profile_visible"] = True
def test_user_data_for_system_users():
user_story = factories.UserStoryFactory.create(subject="test us timeline")
user_story.owner.is_system = True
user_story.owner.save()
history_services.take_snapshot(user_story, user=user_story.owner)
project_timeline = service.get_project_timeline(user_story.project)
serialized_obj = TimelineSerializer(project_timeline[0])
serialized_obj.data["data"]["user"]["is_profile_visible"] = False
def test_user_data_for_unactived_users():
user_story = factories.UserStoryFactory.create(subject="test us timeline")
user_story.owner.cancel()
user_story.owner.save()
history_services.take_snapshot(user_story, user=user_story.owner)
project_timeline = service.get_project_timeline(user_story.project)
serialized_obj = TimelineSerializer(project_timeline[0])
serialized_obj.data["data"]["user"]["is_profile_visible"] = False
serialized_obj.data["data"]["user"]["username"] = "deleted-user"