IMPR: Login forms

This commit is contained in:
Tony Air 2024-02-02 15:42:48 +02:00
parent c351cb73f8
commit 81d8aecea1
2 changed files with 61 additions and 0 deletions

View File

@ -15,6 +15,7 @@ SilverStripe\SiteConfig\SiteConfig:
PageController:
extensions:
- A2nt\CMSNiceties\Extensions\PageControllerEx
- A2nt\CMSNiceties\Ajax\Ex\AjaxLoginFormControllerEx
SilverStripe\CMS\Model\SiteTree:
default_container_class: 'container'

View File

@ -0,0 +1,60 @@
<?php
namespace A2nt\CMSNiceties\Ajax\Ex;
use SilverStripe\Core\Extension;
use SilverStripe\Core\Injector\Injector;
use SilverStripe\Security\MemberAuthenticator\MemberAuthenticator;
use SilverStripe\Security\Security;
/**
* Class \App\Service\Ex\ServiceAreaController
*
* @property \A2nt\CMSNiceties\Ajax\Ex\AjaxLoginFormControllerEx $owner
*/
class AjaxLoginFormControllerEx extends Extension
{
private static $allowed_actions = [
'LoginFormEx',
'LostPasswordForm',
'passwordsent',
];
public function LoginFormEx()
{
$ctrl = $this->owner;
/* @var Form $form */
$form = $ctrl->LoginForm();
$form->setLegend('Sign in to your service account');
//$form->enableSpamProtection();
return $form;
}
public function LostPasswordForm()
{
if (Security::getCurrentUser()) {
return;
}
$ctrl = $this->owner;
$form = Injector::inst()->get(MemberAuthenticator::class)
->getLostPasswordHandler($ctrl->Link())
->lostPasswordForm();
$form->setLegend('Restore your password');
//$form->enableSpamProtection();
return $form;
}
public function passwordsent()
{
$ctrl = $this->owner;
return Injector::inst()->get(MemberAuthenticator::class)
->getLostPasswordHandler($ctrl->Link())
->passwordsent();
}
}