Skip to content

Commit

Permalink
Merge pull request #101 from kdambekalns/bugfix/use-flashmessageservice
Browse files Browse the repository at this point in the history
BUGFIX: Use FlashMessageService
  • Loading branch information
kdambekalns committed Sep 9, 2019
2 parents 9a1eebc + ee593c2 commit b03df4c
Show file tree
Hide file tree
Showing 3 changed files with 48 additions and 23 deletions.
11 changes: 1 addition & 10 deletions Classes/Core/Runtime/FormRuntime.php
Original file line number Diff line number Diff line change
Expand Up @@ -129,15 +129,6 @@ class FormRuntime implements RootRenderableInterface, \ArrayAccess
*/
protected $hashService;

/**
* Workaround...
*
* @Flow\Inject
* @var \Neos\Flow\Mvc\FlashMessageContainer
* @internal
*/
protected $flashMessageContainer;

/**
* @var callable[]
*/
Expand Down Expand Up @@ -191,7 +182,7 @@ protected function initializeFormStateFromRequest()
$this->formState = new FormState();
} else {
$serializedFormState = $this->hashService->validateAndStripHmac($serializedFormStateWithHmac);
$this->formState = unserialize(base64_decode($serializedFormState));
$this->formState = unserialize(base64_decode($serializedFormState), ['allowed_classes' => [FormState::class]]);
}
}

Expand Down
33 changes: 22 additions & 11 deletions Classes/Finishers/FlashMessageFinisher.php
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,14 @@
*/

use Neos\Error\Messages\Error;
use Neos\Error\Messages\Message;
use Neos\Error\Messages\Notice;
use Neos\Error\Messages\Warning;
use Neos\Flow\Annotations as Flow;
use Neos\Error\Messages\Message;
use Neos\Flow\Mvc\Exception\InvalidFlashMessageConfigurationException;
use Neos\Flow\Mvc\FlashMessage\FlashMessageService;
use Neos\Flow\Security\Exception\InvalidRequestPatternException;
use Neos\Flow\Security\Exception\NoRequestPatternFoundException;
use Neos\Form\Core\Model\AbstractFinisher;
use Neos\Form\Exception\FinisherException;

Expand All @@ -40,27 +44,31 @@ class FlashMessageFinisher extends AbstractFinisher
{
/**
* @Flow\Inject
* @var \Neos\Flow\Mvc\FlashMessageContainer
* @var FlashMessageService
*/
protected $flashMessageContainer;
protected $flashMessageService;

/**
* @var array
*/
protected $defaultOptions = array(
protected $defaultOptions = [
'messageBody' => null,
'messageTitle' => '',
'messageArguments' => [],
'messageCode' => null,
'severity' => Message::SEVERITY_OK,
);
];

/**
* Executes this finisher
* @see AbstractFinisher::execute()
*
* @return void
* @throws FinisherException
* @throws InvalidFlashMessageConfigurationException
* @throws InvalidRequestPatternException
* @throws NoRequestPatternFoundException
* @see AbstractFinisher::execute()
*
*/
protected function executeInternal()
{
Expand All @@ -75,17 +83,20 @@ protected function executeInternal()
switch ($severity) {
case Message::SEVERITY_NOTICE:
$message = new Notice($messageBody, $messageCode, $messageArguments, $messageTitle);
break;
break;
case Message::SEVERITY_WARNING:
$message = new Warning($messageBody, $messageCode, $messageArguments, $messageTitle);
break;
break;
case Message::SEVERITY_ERROR:
$message = new Error($messageBody, $messageCode, $messageArguments, $messageTitle);
break;
break;
default:
$message = new Message($messageBody, $messageCode, $messageArguments, $messageTitle);
break;
break;
}
$this->flashMessageContainer->addMessage($message);

$formRuntime = $this->finisherContext->getFormRuntime();
$request = $formRuntime->getRequest()->getMainRequest();
$this->flashMessageService->getFlashMessageContainerForRequest($request)->addMessage($message);
}
}
27 changes: 25 additions & 2 deletions composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,30 @@
"Neos.Neos-20161125104802",
"Neos.Kickstarter-20161125110814",
"Neos.Neos-20161125122412",
"Neos.Flow-20161125124112"
"Neos.Flow-20161125124112",
"TYPO3.FluidAdaptor-20161130112935",
"Neos.Fusion-20161201202543",
"Neos.Neos-20161201222211",
"Neos.Fusion-20161202215034",
"Neos.Fusion-20161219092345",
"Neos.ContentRepository-20161219093512",
"Neos.Media-20161219094126",
"Neos.Neos-20161219094403",
"Neos.Neos-20161219122512",
"Neos.Fusion-20161219130100",
"Neos.Neos-20161220163741",
"Neos.Neos-20170115114620",
"Neos.Fusion-20170120013047",
"Neos.Flow-20170125103800",
"Neos.Seo-20170127154600",
"Neos.Flow-20170127183102",
"Neos.Fusion-20180211175500",
"Neos.Fusion-20180211184832",
"Neos.Flow-20180415105700",
"Neos.Neos-20180907103800",
"Neos.Neos.Ui-20190319094900",
"Neos.Flow-20190425144900",
"Neos.Flow-20190515215000"
]
}
}
}

0 comments on commit b03df4c

Please sign in to comment.