public function createAction(Application $app, Request $request) { $user = $app['session']->get('user'); $form = $app['form.factory']->create(new ConversationStartForm()); $form->handleRequest($request); if ($form->isValid()) { $form_data = $form->getData(); if (!($to_user = $app['user.manager']->fetchUserById($form_data['to']))) { throw new UserNotFoundException(); } $conversation = Conversation::startNew($user, $to_user, $form_data['subject'], $form_data['body']); $app['conversation_repository']->save($conversation); return $app->redirect($app['url_generator']->generate('conversation.view', ['conversation_id' => $conversation->getId()])); } // TODO: make a view that allows you to see / edit errors $app['session']->getFlashBag()->add('danger', 'A problem occurred when trying to send your message. Please try again.'); return $app->redirect($app['url_generator']->generate('conversation.index')); }
/** * @return Conversation */ protected function createSimpleConversation() { $conversation = Conversation::startNew(\Mockery::mock('Mentoring\\User\\User'), \Mockery::mock('Mentoring\\User\\User'), 'My subject', 'My opening message'); return $conversation; }