From cbfe5f3c1fc496f30957fff4eb9b489e0727d8da Mon Sep 17 00:00:00 2001 From: Timo Benk Date: Fri, 14 Oct 2016 09:58:24 +0200 Subject: feature endorse password for share links works like "enforce password protection", but let the user optionally remove the password protection after the password is set. Signed-off-by: Bjoern Schiessle --- core/js/shareconfigmodel.js | 1 + core/js/sharedialoglinkshareview.js | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) (limited to 'core') diff --git a/core/js/shareconfigmodel.js b/core/js/shareconfigmodel.js index 98388cbd508..f16d3d7b148 100644 --- a/core/js/shareconfigmodel.js +++ b/core/js/shareconfigmodel.js @@ -22,6 +22,7 @@ defaults: { publicUploadEnabled: false, enforcePasswordForPublicLink: oc_appconfig.core.enforcePasswordForPublicLink, + endorsePasswordForPublicLink: oc_appconfig.core.endorsePasswordForPublicLink, isDefaultExpireDateEnforced: oc_appconfig.core.defaultExpireDateEnforced === true, isDefaultExpireDateEnabled: oc_appconfig.core.defaultExpireDateEnabled === true, isRemoteShareAllowed: oc_appconfig.core.remoteShareAllowed, diff --git a/core/js/sharedialoglinkshareview.js b/core/js/sharedialoglinkshareview.js index d881b85f70f..942d392f081 100644 --- a/core/js/sharedialoglinkshareview.js +++ b/core/js/sharedialoglinkshareview.js @@ -228,7 +228,7 @@ } if($checkBox.is(':checked')) { - if(this.configModel.get('enforcePasswordForPublicLink') === false) { + if(this.configModel.get('enforcePasswordForPublicLink') === false && this.configModel.get('endorsePasswordForPublicLink') === false) { $loading.removeClass('hidden'); // this will create it this.model.saveLinkShare(); -- cgit v1.2.3 From 0d7801b6ce04f3f60d9aa98afef4a019a4479193 Mon Sep 17 00:00:00 2001 From: Timo Benk Date: Mon, 17 Oct 2016 09:11:30 +0200 Subject: endorseLinkPassword changed to enableLinkPasswordByDefault Signed-off-by: Bjoern Schiessle --- core/js/shareconfigmodel.js | 2 +- core/js/sharedialoglinkshareview.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'core') diff --git a/core/js/shareconfigmodel.js b/core/js/shareconfigmodel.js index f16d3d7b148..1ead631db4d 100644 --- a/core/js/shareconfigmodel.js +++ b/core/js/shareconfigmodel.js @@ -22,7 +22,7 @@ defaults: { publicUploadEnabled: false, enforcePasswordForPublicLink: oc_appconfig.core.enforcePasswordForPublicLink, - endorsePasswordForPublicLink: oc_appconfig.core.endorsePasswordForPublicLink, + enableLinkPasswordByDefault: oc_appconfig.core.enableLinkPasswordByDefault, isDefaultExpireDateEnforced: oc_appconfig.core.defaultExpireDateEnforced === true, isDefaultExpireDateEnabled: oc_appconfig.core.defaultExpireDateEnabled === true, isRemoteShareAllowed: oc_appconfig.core.remoteShareAllowed, diff --git a/core/js/sharedialoglinkshareview.js b/core/js/sharedialoglinkshareview.js index 942d392f081..00b12ec1f99 100644 --- a/core/js/sharedialoglinkshareview.js +++ b/core/js/sharedialoglinkshareview.js @@ -228,7 +228,7 @@ } if($checkBox.is(':checked')) { - if(this.configModel.get('enforcePasswordForPublicLink') === false && this.configModel.get('endorsePasswordForPublicLink') === false) { + if(this.configModel.get('enforcePasswordForPublicLink') === false && this.configModel.get('enableLinkPasswordByDefault') === false) { $loading.removeClass('hidden'); // this will create it this.model.saveLinkShare(); -- cgit v1.2.3 From 868500eda48a7938491a0e44ade07c9fcf635937 Mon Sep 17 00:00:00 2001 From: Timo Benk Date: Mon, 17 Oct 2016 14:23:55 +0200 Subject: let the user set an empty password for share link Signed-off-by: Bjoern Schiessle --- core/js/sharedialoglinkshareview.js | 24 +++++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) (limited to 'core') diff --git a/core/js/sharedialoglinkshareview.js b/core/js/sharedialoglinkshareview.js index 00b12ec1f99..dca1cf0c12c 100644 --- a/core/js/sharedialoglinkshareview.js +++ b/core/js/sharedialoglinkshareview.js @@ -17,6 +17,7 @@ var PASSWORD_PLACEHOLDER = '**********'; var PASSWORD_PLACEHOLDER_MESSAGE = t('core', 'Choose a password for the public link'); + var PASSWORD_PLACEHOLDER_MESSAGE_OPTIONAL = t('core', 'Choose a password for the public link or press enter'); var TEMPLATE = '{{#if shareAllowed}}' + @@ -61,7 +62,11 @@ ' {{/if}}' + '
' + ' ' + + ' {{#if showPasswordCheckBox}}' + ' ' + + ' {{else}}' + + ' ' + + ' {{/if}}' + ' ' + '
' + '{{else}}' + @@ -280,9 +285,19 @@ var $input = this.$el.find('.linkPassText'); $input.removeClass('error'); var password = $input.val(); - // in IE9 the password might be the placeholder due to bugs in the placeholders polyfill - if(password === '' || password === PASSWORD_PLACEHOLDER || password === PASSWORD_PLACEHOLDER_MESSAGE) { - return; + + if (this.$el.find('.linkPassText').attr('placeholder') === PASSWORD_PLACEHOLDER_MESSAGE_OPTIONAL) { + + // in IE9 the password might be the placeholder due to bugs in the placeholders polyfill + if(password === PASSWORD_PLACEHOLDER_MESSAGE_OPTIONAL) { + password = ''; + } + } else { + + // in IE9 the password might be the placeholder due to bugs in the placeholders polyfill + if(password === '' || password === PASSWORD_PLACEHOLDER || password === PASSWORD_PLACEHOLDER_MESSAGE) { + return; + } } $loading @@ -391,6 +406,8 @@ var showPasswordCheckBox = isLinkShare && ( !this.configModel.get('enforcePasswordForPublicLink') || !this.model.get('linkShare').password); + var passwordPlaceholderInitial = this.configModel.get('enforcePasswordForPublicLink') + ? PASSWORD_PLACEHOLDER_MESSAGE : PASSWORD_PLACEHOLDER_MESSAGE_OPTIONAL; var publicEditable = !this.model.isFolder() @@ -428,6 +445,7 @@ enablePasswordLabel: t('core', 'Password protect'), passwordLabel: t('core', 'Password'), passwordPlaceholder: isPasswordSet ? PASSWORD_PLACEHOLDER : PASSWORD_PLACEHOLDER_MESSAGE, + passwordPlaceholderInitial: passwordPlaceholderInitial, isPasswordSet: isPasswordSet, showPasswordCheckBox: showPasswordCheckBox, publicUpload: publicUpload && isLinkShare, -- cgit v1.2.3