X-Git-Url: http://source.bookstackapp.com/bookstack/blobdiff_plain/2a6533157397a3a3d948f724f48b1f733bc7601f..refs/pull/4021/head:/app/Http/Controllers/PageRevisionController.php diff --git a/app/Http/Controllers/PageRevisionController.php b/app/Http/Controllers/PageRevisionController.php index 85ee6c2bc..3da5e7c2d 100644 --- a/app/Http/Controllers/PageRevisionController.php +++ b/app/Http/Controllers/PageRevisionController.php @@ -8,6 +8,8 @@ use BookStack\Entities\Repos\PageRepo; use BookStack\Entities\Tools\PageContent; use BookStack\Exceptions\NotFoundException; use BookStack\Facades\Activity; +use BookStack\Util\SimpleListOptions; +use Illuminate\Http\Request; use Ssddanbrown\HtmlDiff\Diff; class PageRevisionController extends Controller @@ -24,22 +26,29 @@ class PageRevisionController extends Controller * * @throws NotFoundException */ - public function index(string $bookSlug, string $pageSlug) + public function index(Request $request, string $bookSlug, string $pageSlug) { $page = $this->pageRepo->getBySlug($bookSlug, $pageSlug); + $listOptions = SimpleListOptions::fromRequest($request, 'page_revisions', true)->withSortOptions([ + 'id' => trans('entities.pages_revisions_sort_number') + ]); + $revisions = $page->revisions()->select([ - 'id', 'page_id', 'name', 'created_at', 'created_by', 'updated_at', - 'type', 'revision_number', 'summary', - ]) + 'id', 'page_id', 'name', 'created_at', 'created_by', 'updated_at', + 'type', 'revision_number', 'summary', + ]) ->selectRaw("IF(markdown = '', false, true) as is_markdown") ->with(['page.book', 'createdBy']) - ->get(); + ->reorder('id', $listOptions->getOrder()) + ->reorder('created_at', $listOptions->getOrder()) + ->paginate(50); $this->setPageTitle(trans('entities.pages_revisions_named', ['pageName' => $page->getShortName()])); return view('pages.revisions', [ - 'revisions' => $revisions, - 'page' => $page, + 'revisions' => $revisions, + 'page' => $page, + 'listOptions' => $listOptions, ]); }