Merge pull request #563 from TonisOrmisson/add-prefilled-recovery-email

Ehh: Added option to pre-fill recovery email via url parameter
This commit is contained in:
Lorenzo Milesi
2024-09-18 21:41:12 +02:00
committed by GitHub
4 changed files with 9 additions and 3 deletions

View File

@ -76,7 +76,7 @@ jobs:
run: vendor/bin/phpstan analyse
- name: Archive failed tests artifacts - test output & log
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v4
if: failure()
with:
name: test-outputs-php-${{ matrix.php-versions }}

View File

@ -6,6 +6,7 @@
- New #553: created Da\User\AuthClient\Microsoft365 auth client (edegaudenzi)
- Ehh: Added SecurityHelper to the Bootstrap classMap
- Fix #397: No more fatal Exceptions when connecting to already taken Social Network (edegaudenzi)
- Ehh: Added option to pre-fill recovery email via url parameter (TonisOrmisson)
## 1.6.3 Mar 18th, 2024

View File

@ -89,14 +89,18 @@ class RecoveryController extends Controller
throw new NotFoundHttpException();
}
$request = Yii::$app->request;
/** @var RecoveryForm $form */
$form = $this->make(RecoveryForm::class, [], ['scenario' => RecoveryForm::SCENARIO_REQUEST]);
if(!$request->getIsPost() && !empty($request->get('email'))) {
$form->email = $request->get('email');
}
$event = $this->make(FormEvent::class, [$form]);
$this->make(AjaxRequestModelValidator::class, [$form])->validate();
if ($form->load(Yii::$app->request->post()) && $form->validate()) {
if ($form->load($request->post()) && $form->validate()) {
$this->trigger(FormEvent::EVENT_BEFORE_REQUEST, $event);
$mailService = MailFactory::makeRecoveryMailerService($form->email);

View File

@ -219,6 +219,7 @@ class Module extends BaseModule
'<action:(register|resend)>' => 'registration/<action>',
'confirm/<id:\d+>/<code:[A-Za-z0-9_-]+>' => 'registration/confirm',
'forgot' => 'recovery/request',
'forgot/<email:[a-zA-Z0-9_.±]+@[a-zA-Z0-9-]+.[a-zA-Z0-9-.]+>' => 'recovery/request',
'recover/<id:\d+>/<code:[A-Za-z0-9_-]+>' => 'recovery/reset'
];
/**