/** * @return ViewModel|Response */ public function createAction() { $campaign = $this->campaignRepository->getNewEntity(); $message = $this->messageRepository->getNewEntity(); try { if ($this->manager->handlePost($campaign, $message)) { $msg = $this->userText->getMessage(EntityName::CAMPAIGN, Message::CREATE_SUCCESS); $this->flashMessenger()->addSuccessMessage($msg); $this->addSystemMessageMessages(); return $this->redirect()->toRoute(static::BASE_ROUTE); } } catch (Manager\Exception\Db $exc) { $campaignMsg = $this->userText->getMessage(EntityName::CAMPAIGN, Message::SAVE_FAILED); $messageMsg = $this->userText->getMessage(EntityName::MESSAGE, Message::SAVE_FAILED); $this->currentMessages[FeedbackType::DANGER][] = $campaignMsg; $this->currentMessages[FeedbackType::DANGER][] = $messageMsg; } $this->layout()->currentMessages = $this->currentMessages; return new ViewModel(['form' => $this->manager->getForm()]); }