mirror of
https://github.com/BookStackApp/BookStack.git
synced 2024-08-26 20:22:18 +00:00
Changed the sort view to only show books to which we have an update permission.
Signed-off-by: Abijeet <abijeetpatro@gmail.com>
This commit is contained in:
parent
4a24d1c31b
commit
e13e71cbe0
@ -155,7 +155,7 @@ class BookController extends Controller
|
|||||||
$book = $this->entityRepo->getBySlug('book', $bookSlug);
|
$book = $this->entityRepo->getBySlug('book', $bookSlug);
|
||||||
$this->checkOwnablePermission('book-update', $book);
|
$this->checkOwnablePermission('book-update', $book);
|
||||||
$bookChildren = $this->entityRepo->getBookChildren($book, true);
|
$bookChildren = $this->entityRepo->getBookChildren($book, true);
|
||||||
$books = $this->entityRepo->getAll('book', false);
|
$books = $this->entityRepo->getAll('book', false, 'update');
|
||||||
$this->setPageTitle(trans('entities.books_sort_named', ['bookName'=>$book->getShortName()]));
|
$this->setPageTitle(trans('entities.books_sort_named', ['bookName'=>$book->getShortName()]));
|
||||||
return view('books/sort', ['book' => $book, 'current' => $book, 'books' => $books, 'bookChildren' => $bookChildren]);
|
return view('books/sort', ['book' => $book, 'current' => $book, 'books' => $books, 'bookChildren' => $bookChildren]);
|
||||||
}
|
}
|
||||||
@ -229,9 +229,7 @@ class BookController extends Controller
|
|||||||
if ($model->priority !== $priority || $model->book_id !== $bookId || ($isPage && $model->chapter_id !== $chapterId)) {
|
if ($model->priority !== $priority || $model->book_id !== $bookId || ($isPage && $model->chapter_id !== $chapterId)) {
|
||||||
$this->entityRepo->changeBook($isPage?'page':'chapter', $bookId, $model);
|
$this->entityRepo->changeBook($isPage?'page':'chapter', $bookId, $model);
|
||||||
$model->priority = $priority;
|
$model->priority = $priority;
|
||||||
if ($isPage) {
|
if ($isPage) $model->chapter_id = $chapterId;
|
||||||
$model->chapter_id = $chapterId;
|
|
||||||
}
|
|
||||||
$model->save();
|
$model->save();
|
||||||
$updatedModels->push($model);
|
$updatedModels->push($model);
|
||||||
}
|
}
|
||||||
|
@ -113,9 +113,9 @@ class EntityRepo
|
|||||||
* @param bool $allowDrafts
|
* @param bool $allowDrafts
|
||||||
* @return \Illuminate\Database\Query\Builder
|
* @return \Illuminate\Database\Query\Builder
|
||||||
*/
|
*/
|
||||||
protected function entityQuery($type, $allowDrafts = false)
|
protected function entityQuery($type, $allowDrafts = false, $permission = 'view')
|
||||||
{
|
{
|
||||||
$q = $this->permissionService->enforceEntityRestrictions($type, $this->getEntity($type), 'view');
|
$q = $this->permissionService->enforceEntityRestrictions($type, $this->getEntity($type), $permission);
|
||||||
if (strtolower($type) === 'page' && !$allowDrafts) {
|
if (strtolower($type) === 'page' && !$allowDrafts) {
|
||||||
$q = $q->where('draft', '=', false);
|
$q = $q->where('draft', '=', false);
|
||||||
}
|
}
|
||||||
@ -196,14 +196,15 @@ class EntityRepo
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get all entities of a type limited by count unless count if false.
|
* Get all entities of a type with the given permission, limited by count unless count is false.
|
||||||
* @param string $type
|
* @param string $type
|
||||||
* @param integer|bool $count
|
* @param integer|bool $count
|
||||||
|
* @param string $permission
|
||||||
* @return Collection
|
* @return Collection
|
||||||
*/
|
*/
|
||||||
public function getAll($type, $count = 20)
|
public function getAll($type, $count = 20, $permission = 'view')
|
||||||
{
|
{
|
||||||
$q = $this->entityQuery($type)->orderBy('name', 'asc');
|
$q = $this->entityQuery($type, false, $permission)->orderBy('name', 'asc');
|
||||||
if ($count !== false) $q = $q->take($count);
|
if ($count !== false) $q = $q->take($count);
|
||||||
return $q->get();
|
return $q->get();
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user