diff --git a/services/web/app/views/project/editor/track-changes.jade b/services/web/app/views/project/editor/track-changes.jade index eacf7b982e..5158bc835d 100644 --- a/services/web/app/views/project/editor/track-changes.jade +++ b/services/web/app/views/project/editor/track-changes.jade @@ -76,8 +76,8 @@ div#trackChanges(ng-show="ui.view == 'track-changes'") div.user(ng-repeat="update_user in update.meta.users") .color-square(ng-if="update_user != null", ng-style="{'background-color': 'hsl({{ update_user.hue }}, 70%, 50%)'}") .color-square(ng-if="update_user == null", ng-style="{'background-color': 'hsl(100, 70%, 50%)'}") - .name(ng-if="update_user.id != user.id") {{update_user.first_name}} {{update_user.last_name}} - .name(ng-if="update_user.id == user.id") You + .name(ng-if="update_user && update_user.id != user.id" ng-bind="displayName(update_user)") + .name(ng-if="update_user && update_user.id == user.id") You .name(ng-if="update_user == null") #{translate("anonymous")} div.user(ng-if="update.meta.users.length == 0") .color-square(style="background-color: hsl(100, 100%, 50%)") diff --git a/services/web/public/coffee/ide/track-changes/TrackChangesManager.coffee b/services/web/public/coffee/ide/track-changes/TrackChangesManager.coffee index 4098f860f4..5270754db7 100644 --- a/services/web/public/coffee/ide/track-changes/TrackChangesManager.coffee +++ b/services/web/public/coffee/ide/track-changes/TrackChangesManager.coffee @@ -250,5 +250,5 @@ define [ _updateContainsUserId: (update, user_id) -> for user in update.meta.users - return true if user.id == user_id + return true if user?.id == user_id return false diff --git a/services/web/public/coffee/ide/track-changes/controllers/TrackChangesListController.coffee b/services/web/public/coffee/ide/track-changes/controllers/TrackChangesListController.coffee index 2a32196a21..e716959a19 100644 --- a/services/web/public/coffee/ide/track-changes/controllers/TrackChangesListController.coffee +++ b/services/web/public/coffee/ide/track-changes/controllers/TrackChangesListController.coffee @@ -103,4 +103,15 @@ define [ $scope.trackChanges.hoveringOverListSelectors = false $scope.resetHoverState() - ] \ No newline at end of file + $scope.displayName = (user) -> + full_name = "#{user.first_name} #{user.last_name}" + fallback_name = "Unknown" + if !user? + fallback_name + else if full_name != " " + full_name + else if user.email + user.email + else + fallback_name + ] diff --git a/services/web/public/stylesheets/app/editor/track-changes.less b/services/web/public/stylesheets/app/editor/track-changes.less index 39f3ff0740..6723d5bbfc 100644 --- a/services/web/public/stylesheets/app/editor/track-changes.less +++ b/services/web/public/stylesheets/app/editor/track-changes.less @@ -139,11 +139,14 @@ width: 12px; border-radius: 3px; position: absolute; - top: 3px; left: 0; + bottom: 3px; } .name { - display: inline-block; + width: 94%; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; } } } diff --git a/services/web/test/UnitTests/coffee/Compile/CompileControllerTests.coffee b/services/web/test/UnitTests/coffee/Compile/CompileControllerTests.coffee index 7ac3bb0006..481650dfc4 100644 --- a/services/web/test/UnitTests/coffee/Compile/CompileControllerTests.coffee +++ b/services/web/test/UnitTests/coffee/Compile/CompileControllerTests.coffee @@ -369,5 +369,5 @@ describe "CompileController", -> it "should return a 200 and body", -> @res.send - .calledWith(200, {content:"body"}) + .calledWith({content:"body"}) .should.equal true