Merge pull request #20996 from owncloud/issue-12215-remove-password-reset-when-not-possible
Issue 12215 remove password reset when not possible
This commit is contained in:
commit
4100263bd6
|
@ -213,6 +213,14 @@ $CONFIG = array(
|
|||
)
|
||||
),
|
||||
|
||||
/**
|
||||
* If your user backend does not allow to reset the password (e.g. when it's a
|
||||
* read-only user backend like LDAP), you can specify a custom link, where the
|
||||
* user is redirected to, when clicking the "reset password" link after a failed
|
||||
* login-attempt.
|
||||
*/
|
||||
'lost_password_link' => 'https://example.org/link/to/password/reset',
|
||||
|
||||
/**
|
||||
* Mail Parameters
|
||||
*
|
||||
|
|
|
@ -141,6 +141,7 @@ $array = array(
|
|||
'version' => implode('.', OC_Util::getVersion()),
|
||||
'versionstring' => OC_Util::getVersionString(),
|
||||
'enable_avatars' => \OC::$server->getConfig()->getSystemValue('enable_avatars', true),
|
||||
'lost_password_link'=> \OC::$server->getConfig()->getSystemValue('lost_password_link', null),
|
||||
'modRewriteWorking' => (getenv('front_controller_active') === 'true'),
|
||||
)
|
||||
),
|
||||
|
|
|
@ -13,14 +13,17 @@ OC.Lostpassword = {
|
|||
resetErrorMsg : t('core', 'Password can not be changed. Please contact your administrator.'),
|
||||
|
||||
init : function() {
|
||||
$('#lost-password').click(OC.Lostpassword.sendLink);
|
||||
$('#lost-password').click(OC.Lostpassword.resetLink);
|
||||
$('#reset-password #submit').click(OC.Lostpassword.resetPassword);
|
||||
},
|
||||
|
||||
sendLink : function(event){
|
||||
resetLink : function(event){
|
||||
event.preventDefault();
|
||||
if (!$('#user').val().length){
|
||||
$('#submit').trigger('click');
|
||||
} else {
|
||||
if (OC.config['lost_password_link']) {
|
||||
window.location = OC.config['lost_password_link'];
|
||||
} else {
|
||||
$.post(
|
||||
OC.generateUrl('/lostpassword/email'),
|
||||
|
@ -30,6 +33,7 @@ OC.Lostpassword = {
|
|||
OC.Lostpassword.sendLinkDone
|
||||
);
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
sendLinkDone : function(result){
|
||||
|
|
|
@ -56,11 +56,15 @@ script('core', [
|
|||
<input type="submit" id="submit" class="login primary icon-confirm svg" title="<?php p($l->t('Log in')); ?>" value="" disabled="disabled"/>
|
||||
</p>
|
||||
|
||||
<?php if (isset($_['invalidpassword']) && ($_['invalidpassword'])): ?>
|
||||
<?php if (!empty($_['invalidpassword']) && !empty($_['canResetPassword'])) { ?>
|
||||
<a id="lost-password" class="warning" href="">
|
||||
<?php p($l->t('Wrong password. Reset it?')); ?>
|
||||
</a>
|
||||
<?php endif; ?>
|
||||
<?php } else if (!empty($_['invalidpassword'])) { ?>
|
||||
<p class="warning">
|
||||
<?php p($l->t('Wrong password.')); ?>
|
||||
</p>
|
||||
<?php } ?>
|
||||
<?php if ($_['rememberLoginAllowed'] === true) : ?>
|
||||
<div class="remember-login-container">
|
||||
<input type="checkbox" name="remember_login" value="1" id="remember_login" class="checkbox checkbox--white">
|
||||
|
|
|
@ -947,6 +947,14 @@ class OC_Util {
|
|||
$parameters['redirect_url'] = $_REQUEST['redirect_url'];
|
||||
}
|
||||
|
||||
$parameters['canResetPassword'] = true;
|
||||
if (!\OC::$server->getSystemConfig()->getValue('lost_password_link')) {
|
||||
$user = \OC::$server->getUserManager()->get($_REQUEST['user']);
|
||||
if ($user instanceof IUser) {
|
||||
$parameters['canResetPassword'] = $user->canChangePassword();
|
||||
}
|
||||
}
|
||||
|
||||
$parameters['alt_login'] = OC_App::getAlternativeLogIns();
|
||||
$parameters['rememberLoginAllowed'] = self::rememberLoginAllowed();
|
||||
\OC_Hook::emit('OC_Util', 'pre_displayLoginPage', array('parameters' => $parameters));
|
||||
|
|
Loading…
Reference in New Issue