/**
  * Handles moving the board up or down in the category.
  *
  * @param mixed $slug
  * @param mixed $direction
  * @return {\Illuminate\Http\RedirectResponse|\Illuminate\Http\RedirectResponse}
  */
 public function reposition($slug, $direction)
 {
     $this->authorize('laraboard::category-manage');
     $board = Board::whereSlug($slug)->firstOrFail();
     //  move up
     if ($direction == 'up') {
         $board->moveLeft();
     } else {
         $board->moveRight();
     }
     return redirect()->back()->with('success', 'Board successfully moved.');
 }
 public function store(Request $request)
 {
     $board = Board::findOrFail($request->parent_id);
     $this->authorize('laraboard::thread-create', $board);
     $this->validate($request, ['name' => 'required|max:255', 'body' => 'required|max:4000']);
     $post = new Post();
     $post->name = $request->name;
     $post->body = $request->body;
     $post->type = 'Thread';
     $post->user_id = \Auth::user()->id;
     $post->save();
     $post->makeChildOf($board);
     $thread = Thread::findOrFail($post->id);
     return redirect()->route('thread.show', [$thread->board->category->slug, $thread->board->slug, $thread->slug, $thread->name_slug]);
 }