public function store(CreatePostRequest $request) { $draft = $draft = Post::where('author_id', Auth::user()->active_contact->id)->where("status_id", "=", POST_DRAFT_STATUS_ID)->where("ticket_id", $request->get("ticket_id"))->first(); $post = $draft ? $draft : new Post(); $post->ticket_id = $request->get('ticket_id'); $post->post = $request->get('post'); $post->author_id = Auth::user()->active_contact->id; $post->status_id = $request->get('is_public') ? POST_PUBLIC_STATUS_ID : POST_PRIVATE_STATUS_ID; $post->ticket_status_id = $request->get('status_id'); if (isset($post->updated_at)) { $post->created_at = $post->updated_at; } $post->save(); $ticket_updated = $this->updateTicket($request); EmailsManager::sendPost($post->id, $ticket_updated, $request->get('emails')); SlackManager::sendPost($post, $ticket_updated); return redirect()->route('tickets.show', $request->input('ticket_id'))->with('successes', ['Post created successfully']); }