Ejemplo n.º 1
0
 /**
  * Store a newly created resource in storage.
  *
  * @return Response
  */
 public function store()
 {
     $chat = new Chat();
     //Validation
     $rules = array('users' => 'required', 'subject' => 'required', 'text' => 'required');
     $validator = Validator::make(Input::all(), $rules);
     if ($validator->fails()) {
         return Redirect::to('/community/chats/create')->withInput()->withErrors($validator);
     }
     $chat->subject = Input::get('subject');
     $chat->last_reply = date("Y-m-d H:i:s");
     $chat->save();
     $chat->user()->attach(Auth::user()->id);
     foreach (Input::get('users') as $id) {
         $chat->user()->attach($id);
     }
     $reply = new Reply();
     $reply->text = Input::get('text');
     $reply->chat_id = $chat->id;
     $reply->user_id = Auth::user()->id;
     $reply->save();
     //Set up notifications for this chat
     foreach ($chat->user->all() as $user) {
         $reply->notification()->save($user);
     }
     $notification = Notification::where('user_id', '=', Auth::user()->id)->where('reply_id', '=', $reply->id)->firstOrFail();
     $notification->has_read = 1;
     $notification->save();
     return Redirect::to('/community/chats')->with('flash_chat', 'Your chat has been sent')->with('alert_class', 'alert-success');
 }