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'));
 }
예제 #2
0
 /**
  * @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;
 }