From 2e46576e83ca4e30801060e0c23b1f587e6e318a Mon Sep 17 00:00:00 2001 From: Vincent Petry Date: Thu, 4 Feb 2016 11:26:11 +0100 Subject: [PATCH] Special label for deleted users in comments list --- apps/comments/js/commentstabview.js | 19 +++++++++++++++---- apps/comments/tests/js/commentstabviewSpec.js | 10 +++++++++- 2 files changed, 24 insertions(+), 5 deletions(-) diff --git a/apps/comments/js/commentstabview.js b/apps/comments/js/commentstabview.js index 2c5e941475..8faf98b35a 100644 --- a/apps/comments/js/commentstabview.js +++ b/apps/comments/js/commentstabview.js @@ -44,7 +44,7 @@ '
  • ' + '
    ' + ' {{#if avatarEnabled}}' + - '
    ' + + '
    ' + ' {{/if}}' + '
    {{actorDisplayName}}
    ' + '{{#if isUserAuthor}}' + @@ -115,11 +115,20 @@ if (!this._commentTemplate) { this._commentTemplate = Handlebars.compile(COMMENT_TEMPLATE); } - return this._commentTemplate(_.extend({ + + params = _.extend({ avatarEnabled: this._avatarsEnabled, editTooltip: t('comments', 'Edit comment'), isUserAuthor: OC.getCurrentUser().uid === params.actorId - }, params)); + }, params); + + if (params.actorType === 'deleted_users') { + // makes the avatar a X + params.actorId = null; + params.actorDisplayName = t('comments', '[Deleted user]'); + } + + return this._commentTemplate(params); }, getLabel: function() { @@ -149,7 +158,9 @@ this.$el.find('.comments').before(this.editCommentTemplate({})); this.$el.find('.has-tooltip').tooltip(); this.$container = this.$el.find('ul.comments'); - this.$el.find('.avatar').avatar(OC.getCurrentUser().uid, 28); + if (this._avatarsEnabled) { + this.$el.find('.avatar').avatar(OC.getCurrentUser().uid, 28); + } this.delegateEvents(); }, diff --git a/apps/comments/tests/js/commentstabviewSpec.js b/apps/comments/tests/js/commentstabviewSpec.js index 4c3d38290b..9e986899f7 100644 --- a/apps/comments/tests/js/commentstabviewSpec.js +++ b/apps/comments/tests/js/commentstabviewSpec.js @@ -84,7 +84,6 @@ describe('OCA.Comments.CommentsTabView tests', function() { }); it('renders comments', function() { - view.setFileInfo(fileInfoModel); view.collection.set(testComments); @@ -100,6 +99,15 @@ describe('OCA.Comments.CommentsTabView tests', function() { expect($item.find('.date').text()).toEqual('5 minutes ago'); expect($item.find('.message').html()).toEqual('Second
    Newline'); }); + + it('renders comments from deleted user differently', function() { + testComments[0].set('actorType', 'deleted_users', {silent: true}); + view.collection.set(testComments); + + var $item = view.$el.find('.comment[data-id=1]'); + expect($item.find('.author').text()).toEqual('[Deleted user]'); + expect($item.find('.avatar').attr('data-username')).not.toBeDefined(); + }); }); describe('more comments', function() { var hasMoreResultsStub;