Password policy fix and menu open on first share
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
This commit is contained in:
parent
9dea41f8fe
commit
0a70544cd9
3 changed files with 29 additions and 4 deletions
|
@ -10,7 +10,7 @@
|
|||
<span class="menuitem">
|
||||
<form autocomplete="off" class="enforcedPassForm">
|
||||
<input id="enforcedPassText" required class="enforcedPassText" type="password"
|
||||
placeholder="{{passwordPlaceholder}}" autocomplete="new-password" minlength="4" />
|
||||
placeholder="{{passwordPlaceholder}}" autocomplete="enforcedPassText" minlength="{{minPasswordLength}}" />
|
||||
<input type="submit" value=" " class="primary icon-checkmark-white">
|
||||
</form>
|
||||
</span>
|
||||
|
|
|
@ -189,6 +189,8 @@
|
|||
shareData.password = this.password
|
||||
}
|
||||
|
||||
var newShareId = false;
|
||||
|
||||
// We need a password before the share creation
|
||||
if (isPasswordEnforced && !this.showPending && this.password === '') {
|
||||
this.showPending = shareId;
|
||||
|
@ -196,18 +198,32 @@
|
|||
$li.find('#enforcedPassText').focus();
|
||||
} else {
|
||||
// else, we have a password or it is not enforced
|
||||
this.model.saveLinkShare(shareData, {
|
||||
$.when(this.model.saveLinkShare(shareData, {
|
||||
success: function() {
|
||||
$loading.addClass('hidden');
|
||||
$li.find('.icon').removeClass('hidden');
|
||||
self.render();
|
||||
// open the menu by default
|
||||
// we can only do that after the render
|
||||
if (newShareId) {
|
||||
var shares = self.$el.find('li[data-share-id]');
|
||||
var $newShare = self.$el.find('li[data-share-id="'+newShareId+'"]');
|
||||
// only open the menu by default if this is the first share
|
||||
if ($newShare && shares.length === 1) {
|
||||
$menu = $newShare.find('.popovermenu');
|
||||
OC.showMenu(null, $menu);
|
||||
}
|
||||
}
|
||||
},
|
||||
error: function() {
|
||||
OC.Notification.showTemporary(t('core', 'Unable to create a link share'));
|
||||
$loading.addClass('hidden');
|
||||
$li.find('.icon').removeClass('hidden');
|
||||
}
|
||||
})
|
||||
})).then(function(response) {
|
||||
// resolve before success
|
||||
newShareId = response.ocs.data.id
|
||||
});
|
||||
}
|
||||
},
|
||||
|
||||
|
@ -515,6 +531,12 @@
|
|||
|
||||
this.$el.find('.datepicker').datepicker({dateFormat : 'dd-mm-yy'});
|
||||
|
||||
var minPasswordLength = 4
|
||||
// password policy?
|
||||
if(oc_capabilities.password_policy && oc_capabilities.password_policy.minLength) {
|
||||
minPasswordLength = oc_capabilities.password_policy.minLength;
|
||||
}
|
||||
|
||||
var popoverBase = {
|
||||
social: social,
|
||||
urlLabel: t('core', 'Link'),
|
||||
|
@ -550,6 +572,7 @@
|
|||
isPasswordEnforced: isPasswordEnforced,
|
||||
enforcedPasswordLabel: t('core', 'Password protection for links is mandatory'),
|
||||
passwordPlaceholder: passwordPlaceholderInitial,
|
||||
minPasswordLength: minPasswordLength,
|
||||
};
|
||||
var pendingPopoverMenu = this.pendingPopoverMenuTemplate(_.extend({}, pendingPopover))
|
||||
|
||||
|
|
|
@ -250,7 +250,9 @@ templates['sharedialoglinkshareview_popover_menu_pending'] = template({"1":funct
|
|||
+ alias4(((helper = (helper = helpers.enforcedPasswordLabel || (depth0 != null ? depth0.enforcedPasswordLabel : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"enforcedPasswordLabel","hash":{},"data":data}) : helper)))
|
||||
+ "</p>\n </span>\n </li>\n <li class=\"linkPassMenu\">\n <span class=\"menuitem\">\n <form autocomplete=\"off\" class=\"enforcedPassForm\">\n <input id=\"enforcedPassText\" required class=\"enforcedPassText\" type=\"password\"\n placeholder=\""
|
||||
+ alias4(((helper = (helper = helpers.passwordPlaceholder || (depth0 != null ? depth0.passwordPlaceholder : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"passwordPlaceholder","hash":{},"data":data}) : helper)))
|
||||
+ "\" autocomplete=\"new-password\" minlength=\"4\" />\n <input type=\"submit\" value=\" \" class=\"primary icon-checkmark-white\">\n </form>\n </span>\n </li>\n";
|
||||
+ "\" autocomplete=\"enforcedPassText\" minlength=\""
|
||||
+ alias4(((helper = (helper = helpers.minPasswordLength || (depth0 != null ? depth0.minPasswordLength : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"minPasswordLength","hash":{},"data":data}) : helper)))
|
||||
+ "\" />\n <input type=\"submit\" value=\" \" class=\"primary icon-checkmark-white\">\n </form>\n </span>\n </li>\n";
|
||||
},"compiler":[7,">= 4.0.0"],"main":function(container,depth0,helpers,partials,data) {
|
||||
var stack1;
|
||||
|
||||
|
|
Loading…
Reference in a new issue