From 6735005be09840431823afb281ad183e9635d4cc Mon Sep 17 00:00:00 2001 From: Vincent Petry Date: Mon, 7 Dec 2015 16:53:56 +0100 Subject: Fix duplicate bogus share field when link sharing is not allowed Whenever link share is not allowed, it was outputting a bogus sharing field which name would conflict with the regular sharing field. This fix makes sure that the bogus sharing field with "Resharing not allowed" message only appears when triggered by removed share permissions. --- core/js/sharedialoglinkshareview.js | 15 +++++++++------ core/js/tests/specs/sharedialogviewSpec.js | 1 + 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/core/js/sharedialoglinkshareview.js b/core/js/sharedialoglinkshareview.js index 29dce21486c..452599fb7f2 100644 --- a/core/js/sharedialoglinkshareview.js +++ b/core/js/sharedialoglinkshareview.js @@ -48,7 +48,7 @@ ' {{/if}}' + '{{else}}' + // FIXME: this doesn't belong in this view - '' + + '{{#if noSharingPlaceholder}}{{/if}}' + '{{/if}}' ; @@ -238,15 +238,18 @@ render: function() { var linkShareTemplate = this.template(); + var resharingAllowed = this.model.sharePermissionPossible(); - if( !this.model.sharePermissionPossible() + if(!resharingAllowed || !this.showLink || !this.configModel.isShareWithLinkAllowed()) { - this.$el.html(linkShareTemplate({ - shareAllowed: false, - noSharingPlaceholder: t('core', 'Resharing is not allowed') - })); + var templateData = {shareAllowed: false}; + if (!resharingAllowed) { + // add message + templateData.noSharingPlaceholder = t('core', 'Resharing is not allowed'); + } + this.$el.html(linkShareTemplate(templateData)); return this; } diff --git a/core/js/tests/specs/sharedialogviewSpec.js b/core/js/tests/specs/sharedialogviewSpec.js index 6d5243b0e86..bfd3d987866 100644 --- a/core/js/tests/specs/sharedialogviewSpec.js +++ b/core/js/tests/specs/sharedialogviewSpec.js @@ -218,6 +218,7 @@ describe('OC.Share.ShareDialogView', function() { dialog.render(); expect(dialog.$el.find('.linkCheckbox').length).toEqual(0); + expect(dialog.$el.find('.shareWithField').length).toEqual(1); }); it('shows populated link share when a link share exists', function() { // this is how the OC.Share class does it... -- cgit v1.2.3