]> source.dussan.org Git - nextcloud-server.git/commitdiff
Special label for deleted users in comments list
authorVincent Petry <pvince81@owncloud.com>
Thu, 4 Feb 2016 10:26:11 +0000 (11:26 +0100)
committerVincent Petry <pvince81@owncloud.com>
Thu, 4 Feb 2016 10:26:11 +0000 (11:26 +0100)
apps/comments/js/commentstabview.js
apps/comments/tests/js/commentstabviewSpec.js

index 2c5e9414751f60b407c8f200b0816ee975f847e5..8faf98b35abe4e200d0f3d4bc87460485e4f5ff8 100644 (file)
@@ -44,7 +44,7 @@
                '<li class="comment{{#if isUnread}} unread{{/if}}" data-id="{{id}}">' +
                '    <div class="authorRow">' +
                '        {{#if avatarEnabled}}' +
-               '        <div class="avatar" data-username="{{actorId}}"> </div>' +
+               '        <div class="avatar" {{#if actorId}}data-username="{{actorId}}"{{/if}}> </div>' +
                '        {{/if}}' +
                '        <div class="author">{{actorDisplayName}}</div>' +
                '{{#if isUserAuthor}}' +
                        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() {
                        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();
                },
 
index 4c3d38290bacc61ab468b3454d77f30d0c486fdc..9e986899f7d7f6e6b86e30bb4409fa7b1b8aff80 100644 (file)
@@ -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<br>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;