mirror of
https://github.com/silverstripe/silverstripe-framework
synced 2024-10-22 14:05:37 +02:00
Merge branch '4.8' into 4
This commit is contained in:
commit
325021c2f8
@ -267,6 +267,8 @@ en:
|
|||||||
FIRSTNAME: 'First Name'
|
FIRSTNAME: 'First Name'
|
||||||
INTERFACELANG: 'Interface Language'
|
INTERFACELANG: 'Interface Language'
|
||||||
KEEPMESIGNEDIN: 'Keep me signed in'
|
KEEPMESIGNEDIN: 'Keep me signed in'
|
||||||
|
KEEP_ME_SIGNED_IN: 'Keep me signed in for {count} days'
|
||||||
|
KEEP_ME_SIGNED_IN_TOOLTIP: 'You will remain authenticated on this device for {count} days. Only use this feature if you trust the device you are using.'
|
||||||
LOGGEDINAS: 'You''re logged in as {name}.'
|
LOGGEDINAS: 'You''re logged in as {name}.'
|
||||||
NEWPASSWORD: 'New Password'
|
NEWPASSWORD: 'New Password'
|
||||||
PASSWORD: Password
|
PASSWORD: Password
|
||||||
@ -275,7 +277,6 @@ en:
|
|||||||
PLURALS:
|
PLURALS:
|
||||||
one: 'A Member'
|
one: 'A Member'
|
||||||
other: '{count} Members'
|
other: '{count} Members'
|
||||||
REMEMBERME: 'Remember me next time? (for {count} days on this device)'
|
|
||||||
SINGULARNAME: Member
|
SINGULARNAME: Member
|
||||||
SUBJECTPASSWORDCHANGED: 'Your password has been changed'
|
SUBJECTPASSWORDCHANGED: 'Your password has been changed'
|
||||||
SUBJECTPASSWORDRESET: 'Your password reset link'
|
SUBJECTPASSWORDRESET: 'Your password reset link'
|
||||||
|
@ -1705,8 +1705,8 @@ class Member extends DataObject
|
|||||||
$valid = parent::validate();
|
$valid = parent::validate();
|
||||||
$validator = static::password_validator();
|
$validator = static::password_validator();
|
||||||
|
|
||||||
if (!$this->ID || $this->isChanged('Password')) {
|
if ($validator) {
|
||||||
if ($this->Password && $validator) {
|
if ((!$this->ID && $this->Password) || $this->isChanged('Password')) {
|
||||||
$userValid = $validator->validate($this->Password, $this);
|
$userValid = $validator->validate($this->Password, $this);
|
||||||
$valid->combineAnd($userValid);
|
$valid->combineAnd($userValid);
|
||||||
}
|
}
|
||||||
|
@ -59,8 +59,8 @@ class CMSMemberLoginForm extends MemberLoginForm
|
|||||||
CheckboxField::create(
|
CheckboxField::create(
|
||||||
"Remember",
|
"Remember",
|
||||||
_t(
|
_t(
|
||||||
'SilverStripe\\Security\\Member.REMEMBER_ME',
|
'SilverStripe\\Security\\Member.KEEP_ME_SIGNED_IN',
|
||||||
"Remember me for {count} days",
|
'Keep me signed in for {count} days',
|
||||||
[ 'count' => RememberLoginHash::config()->uninherited('token_expiry_days') ]
|
[ 'count' => RememberLoginHash::config()->uninherited('token_expiry_days') ]
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
@ -68,7 +68,7 @@ class CMSMemberLoginForm extends MemberLoginForm
|
|||||||
'title',
|
'title',
|
||||||
_t(
|
_t(
|
||||||
'SilverStripe\\Security\\Member.KEEP_ME_SIGNED_IN_TOOLTIP',
|
'SilverStripe\\Security\\Member.KEEP_ME_SIGNED_IN_TOOLTIP',
|
||||||
'You will remain authenticated on this device for {count} days. Only use this feature if you trust the device you are using. Authenticated devices can be managed in your profile.',
|
'You will remain authenticated on this device for {count} days. Only use this feature if you trust the device you are using.',
|
||||||
['count' => RememberLoginHash::config()->uninherited('token_expiry_days')]
|
['count' => RememberLoginHash::config()->uninherited('token_expiry_days')]
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
@ -154,8 +154,8 @@ class MemberLoginForm extends BaseLoginForm
|
|||||||
CheckboxField::create(
|
CheckboxField::create(
|
||||||
"Remember",
|
"Remember",
|
||||||
_t(
|
_t(
|
||||||
'SilverStripe\\Security\\Member.REMEMBER_ME',
|
'SilverStripe\\Security\\Member.KEEP_ME_SIGNED_IN',
|
||||||
"Remember me for {count} days",
|
'Keep me signed in for {count} days',
|
||||||
[ 'count' => RememberLoginHash::config()->uninherited('token_expiry_days') ]
|
[ 'count' => RememberLoginHash::config()->uninherited('token_expiry_days') ]
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
@ -163,7 +163,7 @@ class MemberLoginForm extends BaseLoginForm
|
|||||||
'title',
|
'title',
|
||||||
_t(
|
_t(
|
||||||
'SilverStripe\\Security\\Member.KEEP_ME_SIGNED_IN_TOOLTIP',
|
'SilverStripe\\Security\\Member.KEEP_ME_SIGNED_IN_TOOLTIP',
|
||||||
'You will remain authenticated on this device for {count} days. Only use this feature if you trust the device you are using. Authenticated devices can be managed in your profile.',
|
'You will remain authenticated on this device for {count} days. Only use this feature if you trust the device you are using.',
|
||||||
['count' => RememberLoginHash::config()->uninherited('token_expiry_days')]
|
['count' => RememberLoginHash::config()->uninherited('token_expiry_days')]
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
@ -53,6 +53,6 @@ class MemberPassword extends DataObject
|
|||||||
public function checkPassword($password)
|
public function checkPassword($password)
|
||||||
{
|
{
|
||||||
$encryptor = PasswordEncryptor::create_for_algorithm($this->PasswordEncryption);
|
$encryptor = PasswordEncryptor::create_for_algorithm($this->PasswordEncryption);
|
||||||
return $encryptor->check($this->Password, $password, $this->Salt, $this->Member());
|
return $encryptor->check($this->Password ?? '', $password, $this->Salt, $this->Member());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1601,4 +1601,14 @@ class MemberTest extends FunctionalTest
|
|||||||
$member->write();
|
$member->write();
|
||||||
$this->assertNotNull(Member::get()->find('Email', 'trimmed@test.com'));
|
$this->assertNotNull(Member::get()->find('Email', 'trimmed@test.com'));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function testChangePasswordToBlankIsValidated()
|
||||||
|
{
|
||||||
|
// override setup() function which setMinLength(0)
|
||||||
|
PasswordValidator::singleton()->setMinLength(8);
|
||||||
|
// 'test' member has a password defined in yml
|
||||||
|
$member = $this->objFromFixture(Member::class, 'test');
|
||||||
|
$result = $member->changePassword('');
|
||||||
|
$this->assertFalse($result->isValid());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user