diff options
author | John Molakvoæ <skjnldsv@users.noreply.github.com> | 2018-11-06 18:28:08 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-11-06 18:28:08 +0100 |
commit | 0f1edd538ea6ad8e855a6367f44928f99047568d (patch) | |
tree | 1872b7e4ae8893da38b3acd310d784591c579766 /core | |
parent | add35c7f3100b5aa37268dbebbe619f4b0c9109b (diff) | |
parent | a3bf860be7f4e9085fc3bb569b411c08b89d38ea (diff) | |
download | nextcloud-server-0f1edd538ea6ad8e855a6367f44928f99047568d.tar.gz nextcloud-server-0f1edd538ea6ad8e855a6367f44928f99047568d.zip |
Merge pull request #12273 from nextcloud/public-share-enforce-pass-fix
Fix password enforce on public share links
Diffstat (limited to 'core')
-rw-r--r-- | core/js/share/sharedialoglinkshareview.handlebars | 2 | ||||
-rw-r--r-- | core/js/share/sharedialoglinkshareview_popover_menu_pending.handlebars | 2 | ||||
-rw-r--r-- | core/js/sharedialoglinkshareview.js | 24 | ||||
-rw-r--r-- | core/js/sharetemplates.js | 6 |
4 files changed, 26 insertions, 8 deletions
diff --git a/core/js/share/sharedialoglinkshareview.handlebars b/core/js/share/sharedialoglinkshareview.handlebars index 64f52704290..4f58f632d1b 100644 --- a/core/js/share/sharedialoglinkshareview.handlebars +++ b/core/js/share/sharedialoglinkshareview.handlebars @@ -1,7 +1,7 @@ {{#if shareAllowed}} <ul class="shareWithList"> {{#if nolinkShares}} - <li data-share-id="new-share"> + <li data-share-id="{{newShareId}}"> <div class="avatar icon-public-white"></div> <span class="username">{{newShareLabel}}</span> <span class="sharingOptionsGroup"> diff --git a/core/js/share/sharedialoglinkshareview_popover_menu_pending.handlebars b/core/js/share/sharedialoglinkshareview_popover_menu_pending.handlebars index 787f50c6c1e..d9ff5659fc9 100644 --- a/core/js/share/sharedialoglinkshareview_popover_menu_pending.handlebars +++ b/core/js/share/sharedialoglinkshareview_popover_menu_pending.handlebars @@ -1,4 +1,4 @@ -<div class="popovermenu open menu"> +<div class="popovermenu open menu pending"> <ul> {{#if isPasswordEnforced}} <li> diff --git a/core/js/sharedialoglinkshareview.js b/core/js/sharedialoglinkshareview.js index e5af4ad1f17..4ce337357a0 100644 --- a/core/js/sharedialoglinkshareview.js +++ b/core/js/sharedialoglinkshareview.js @@ -45,6 +45,9 @@ /** @type {string} **/ password: '', + /** @type {string} **/ + newShareId: 'new-share', + events: { // open menu 'click .share-menu .icon-more': 'onToggleMenu', @@ -226,8 +229,8 @@ // We need a password before the share creation if (isPasswordEnforced && !this.showPending && this.password === '') { this.showPending = shareId; - this.render(); - $li.find('#enforcedPassText').focus(); + var self = this.render(); + self.$el.find('.pending #enforcedPassText').focus(); } else { // else, we have a password or it is not enforced $.when(this.model.saveLinkShare(shareData, { @@ -248,11 +251,23 @@ } }, error: function() { + // empty function to override the default Dialog warning + } + })).fail(function(response) { + // password failure? Show error + self.password = '' + if (isPasswordEnforced && response && response.responseJSON && response.responseJSON.ocs.meta && response.responseJSON.ocs.meta.message) { + $input = self.$el.find('.pending #enforcedPassText') + $input.tooltip('destroy'); + $input.attr('title', response.responseJSON.ocs.meta.message); + $input.tooltip({placement: 'bottom', trigger: 'manual'}); + $input.tooltip('show'); + } else { OC.Notification.showTemporary(t('core', 'Unable to create a link share')); $loading.addClass('hidden'); $li.find('.icon').removeClass('hidden'); } - })).then(function(response) { + }).then(function(response) { // resolve before success newShareId = response.ocs.data.id }); @@ -650,7 +665,8 @@ newShareLabel: t('core', 'Share link'), newShareTitle: t('core', 'New share link'), pendingPopoverMenu: pendingPopoverMenu, - showPending: this.showPending === 'new', + showPending: this.showPending === this.newShareId, + newShareId: this.newShareId, })); this.delegateEvents(); diff --git a/core/js/sharetemplates.js b/core/js/sharetemplates.js index 0f1762c5f05..eb3489f6b4e 100644 --- a/core/js/sharetemplates.js +++ b/core/js/sharetemplates.js @@ -10,7 +10,9 @@ templates['sharedialoglinkshareview'] = template({"1":function(container,depth0, },"2":function(container,depth0,helpers,partials,data) { var stack1, helper, alias1=depth0 != null ? depth0 : (container.nullContext || {}), alias2=helpers.helperMissing, alias3="function", alias4=container.escapeExpression; - return " <li data-share-id=\"new-share\">\n <div class=\"avatar icon-public-white\"></div>\n <span class=\"username\">" + return " <li data-share-id=\"" + + alias4(((helper = (helper = helpers.newShareId || (depth0 != null ? depth0.newShareId : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"newShareId","hash":{},"data":data}) : helper))) + + "\">\n <div class=\"avatar icon-public-white\"></div>\n <span class=\"username\">" + alias4(((helper = (helper = helpers.newShareLabel || (depth0 != null ? depth0.newShareLabel : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"newShareLabel","hash":{},"data":data}) : helper))) + "</span>\n <span class=\"sharingOptionsGroup\">\n <div class=\"share-menu\">\n <a href=\"#\" class=\"icon icon-add new-share has-tooltip " + ((stack1 = helpers["if"].call(alias1,(depth0 != null ? depth0.showPending : depth0),{"name":"if","hash":{},"fn":container.program(3, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "") @@ -269,7 +271,7 @@ templates['sharedialoglinkshareview_popover_menu_pending'] = template({"1":funct },"compiler":[7,">= 4.0.0"],"main":function(container,depth0,helpers,partials,data) { var stack1; - return "<div class=\"popovermenu open menu\">\n <ul>\n" + return "<div class=\"popovermenu open menu pending\">\n <ul>\n" + ((stack1 = helpers["if"].call(depth0 != null ? depth0 : (container.nullContext || {}),(depth0 != null ? depth0.isPasswordEnforced : depth0),{"name":"if","hash":{},"fn":container.program(1, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "") + " </ul>\n</div>\n"; },"useData":true}); |