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