Got the tree view working

This commit is contained in:
Dan Brown
2015-07-20 22:05:26 +01:00
parent 52cf7e4483
commit da2ba4d9f3
13 changed files with 223 additions and 21 deletions

View File

@ -78,7 +78,9 @@ class BookController extends Controller
public function show($slug)
{
$book = $this->bookRepo->getBySlug($slug);
return view('books/show', ['book' => $book]);
$pageTree = $this->pageRepo->getTreeByBookId($book->id);
// dd($pageTree);
return view('books/show', ['book' => $book, 'pageTree' => $pageTree]);
}
/**

View File

@ -41,12 +41,14 @@ class PageController extends Controller
* Show the form for creating a new resource.
*
* @param $bookSlug
* @param bool $pageSlug
* @return Response
*/
public function create($bookSlug)
public function create($bookSlug, $pageSlug = false)
{
$book = $this->bookRepo->getBySlug($bookSlug);
return view('pages/create', ['book' => $book]);
$page = $pageSlug ? $this->pageRepo->getBySlug($pageSlug, $book->id) : false;
return view('pages/create', ['book' => $book, 'parentPage' => $page]);
}
/**
@ -61,7 +63,8 @@ class PageController extends Controller
$this->validate($request, [
'name' => 'required|string|max:255',
'html' => 'required|string',
'priority' => 'integer'
'priority' => 'integer',
'parent' => 'integer|exists:pages,id'
]);
$book = $this->bookRepo->getBySlug($bookSlug);
$page = $this->pageRepo->newFromInput($request->all());
@ -70,6 +73,11 @@ class PageController extends Controller
$slug .= '1';
}
$page->slug =$slug;
if($request->has('parent')) {
$page->page_id = $request->get('parent');
}
$page->book_id = $book->id;
$page->text = strip_tags($page->html);
$page->save();
@ -87,7 +95,8 @@ class PageController extends Controller
{
$book = $this->bookRepo->getBySlug($bookSlug);
$page = $this->pageRepo->getBySlug($pageSlug, $book->id);
return view('pages/show', ['page' => $page]);
$breadCrumbs = $this->pageRepo->getBreadCrumbs($page);
return view('pages/show', ['page' => $page, 'breadCrumbs' => $breadCrumbs, 'book' => $book]);
}
/**