diff --git a/Classes/Controller/AuthenticationController.php b/Classes/Controller/AuthenticationController.php index 45fb305..3ebb61c 100644 --- a/Classes/Controller/AuthenticationController.php +++ b/Classes/Controller/AuthenticationController.php @@ -18,14 +18,23 @@ use Neos\Flow\I18n\Translator; use Neos\Flow\Mvc\ActionRequest; use Neos\Flow\Mvc\Exception\UnsupportedRequestTypeException; +use Neos\Flow\Mvc\FlashMessage\FlashMessageService; +use Neos\Flow\Mvc\View\ViewInterface; use Neos\Flow\Security\Authentication\Controller\AbstractAuthenticationController; use Neos\Flow\Security\Exception\AuthenticationRequiredException; +use Neos\Fusion\View\FusionView; /** * Controller for displaying a login/logout form and authenticating/logging out "frontend users" */ class AuthenticationController extends AbstractAuthenticationController { + + /** + * @var FusionView + */ + protected $defaultViewObjectName = FusionView::class; + /** * @var Translator * @Flow\Inject @@ -44,12 +53,21 @@ class AuthenticationController extends AbstractAuthenticationController */ protected $translationSourceName; + /** + * @Flow\Inject + * @var FlashMessageService + */ + protected $flashMessageService; + /** * @return void */ public function indexAction(): void { - $this->view->assign('account', $this->securityContext->getAccount()); + $this->view->assignMultiple([ + 'account' => $this->securityContext->getAccount(), + 'flashMessages' => $this->flashMessageService->getFlashMessageContainerForRequest($this->request)->getMessagesAndFlush(), + ]); } /** @@ -117,4 +135,17 @@ protected function getErrorFlashMessage() { return false; } + + /** + * Sets the Fusion path pattern on the view. + * + * @param ViewInterface $view + * @return void + */ + protected function initializeView(ViewInterface $view) + { + parent::initializeView($view); + /** @var FusionView $view */ + $view->setFusionPathPattern('resource://Flowpack.Neos.FrontendLogin/Private/Fusion/Backend'); + } } diff --git a/Resources/Private/Fusion/Backend/Root.fusion b/Resources/Private/Fusion/Backend/Root.fusion new file mode 100644 index 0000000..0bc17ce --- /dev/null +++ b/Resources/Private/Fusion/Backend/Root.fusion @@ -0,0 +1,71 @@ +include: resource://Neos.Fusion/Private/Fusion/Root.fusion +include: resource://Neos.Fusion.Form/Private/Fusion/Root.fusion + +Flowpack.Neos.FrontendLogin.AuthenticationController.index = Neos.Fusion:Component { + account = ${account} + flashMessages = ${flashMessages} + + settings = ${Configuration.setting('Flowpack.Neos.FrontendLogin')} + + renderer = afx` +
+ {I18n.id('authentication.backendmessage').package(props.settings.translation.packageKey).source(props.settings.translation.sourceName).translate()} +
++ {I18n.id('authentication.form.loggedIn').value('You are logged in as').package(props.settings.translation.packageKey).source(props.settings.translation.sourceName).translate()} + "{props.account.accountIdentifier}" +
+You're logged in as "{account.accountIdentifier}"
-