Skip to content

Commit

Permalink
Merge pull request #563 from TonisOrmisson/add-prefilled-recovery-email
Browse files Browse the repository at this point in the history
Ehh: Added option to pre-fill recovery email via url parameter
  • Loading branch information
maxxer authored Sep 18, 2024
2 parents 35a2126 + 66aeeff commit b70f389
Show file tree
Hide file tree
Showing 4 changed files with 9 additions and 3 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/php.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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 }}
Expand Down
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down
8 changes: 6 additions & 2 deletions src/User/Controller/RecoveryController.php
Original file line number Diff line number Diff line change
Expand Up @@ -89,14 +89,18 @@ public function actionRequest()
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);
Expand Down
1 change: 1 addition & 0 deletions src/User/Module.php
Original file line number Diff line number Diff line change
Expand Up @@ -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'
];
/**
Expand Down

0 comments on commit b70f389

Please sign in to comment.