* @param $bookSlug
* @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
*/
- public function showRestrict($bookSlug)
+ public function showPermissions($bookSlug)
{
$book = $this->entityRepo->getBySlug('book', $bookSlug);
$this->checkOwnablePermission('restrictions-manage', $book);
$roles = $this->userRepo->getRestrictableRoles();
- return view('books/restrictions', [
+ return view('books.permissions', [
'book' => $book,
'roles' => $roles
]);
/**
* Set the restrictions for this book.
* @param $bookSlug
- * @param $bookSlug
* @param Request $request
* @return \Illuminate\Http\RedirectResponse|\Illuminate\Routing\Redirector
+ * @throws \BookStack\Exceptions\NotFoundException
+ * @throws \Throwable
*/
- public function restrict($bookSlug, Request $request)
+ public function permissions($bookSlug, Request $request)
{
$book = $this->entityRepo->getBySlug('book', $bookSlug);
$this->checkOwnablePermission('restrictions-manage', $book);
background-color: #FFF;
box-shadow: $bs-card;
border-radius: 3px;
- padding-bottom: $-xs;
+ border: 1px solid transparent;
h3 {
padding: $-m;
padding-bottom: $-xs;
margin-bottom: $-xl;
overflow: auto;
min-height: 60vh;
+ &.auto-height {
+ min-height: 0;
+ }
}
.tri-layout-container {
&.third {
grid-template-columns: 1fr 1fr 1fr;
}
+ &.left-focus {
+ grid-template-columns: 2fr 1fr;
+ }
+ &.large-gap {
+ grid-column-gap: $-xl;
+ grid-row-gap: $-xl;
+ justify-items: start;
+ }
}
.grid-card {
.grid.third {
grid-template-columns: 1fr 1fr;
}
+ .grid.left-focus {
+ grid-template-columns: 1fr;
+ }
}
@include smaller-than($s) {
padding-left: 1.5rem;
padding-bottom: .2rem;
}
+ .icon {
+ z-index: 2;
+ }
&:after, .sub-menu:after {
content: '';
display: block;
bottom: 1rem;
border-left: 2px solid #DDD;
opacity: 0.6;
- z-index: 1;
+ z-index: 0;
}
}
@extends('simple-layout')
-@section('toolbar')
- <div class="col-sm-12 faded">
- @include('books._breadcrumbs', ['book' => $book])
- </div>
-@stop
-
@section('body')
<div class="container small">
- <p> </p>
- <div class="card">
- <h3>@icon('delete') {{ trans('entities.books_delete') }}</h3>
- <div class="body">
- <p>{{ trans('entities.books_delete_explain', ['bookName' => $book->name]) }}</p>
- <p class="text-neg">{{ trans('entities.books_delete_confirmation') }}</p>
- <form action="{{$book->getUrl()}}" method="POST">
- {!! csrf_field() !!}
- <input type="hidden" name="_method" value="DELETE">
- <a href="{{$book->getUrl()}}" class="button outline">{{ trans('common.cancel') }}</a>
- <button type="submit" class="button neg">{{ trans('common.confirm') }}</button>
- </form>
- </div>
+ <div class="my-l">
+ @include('partials.breadcrumbs', ['crumbs' => [
+ $book,
+ $book->getUrl('/delete') => trans('entities.books_delete')
+ ]])
+ </div>
+
+ <div class="card content-wrap auto-height">
+ <h1 class="list-heading">{{ trans('entities.books_delete') }}</h1>
+ <p>{{ trans('entities.books_delete_explain', ['bookName' => $book->name]) }}</p>
+ <p class="text-neg"><strong>{{ trans('entities.books_delete_confirmation') }}</strong></p>
+
+ <form action="{{$book->getUrl()}}" method="POST" class="text-right">
+ {!! csrf_field() !!}
+ <input type="hidden" name="_method" value="DELETE">
+ <a href="{{$book->getUrl()}}" class="button outline">{{ trans('common.cancel') }}</a>
+ <button type="submit" class="button primary">{{ trans('common.confirm') }}</button>
+ </form>
</div>
</div>
--- /dev/null
+@extends('simple-layout')
+
+@section('body')
+
+ <div class="container">
+
+ <div class="my-l">
+ @include('partials.breadcrumbs', ['crumbs' => [
+ $book,
+ $book->getUrl('/permissions') => trans('entities.books_permissions')
+ ]])
+ </div>
+
+ <div class="card content-wrap">
+ <h1 class="list-heading">{{ trans('entities.books_permissions') }}</h1>
+ @include('form.entity-permissions', ['model' => $book])
+ </div>
+ </div>
+
+@stop
+++ /dev/null
-@extends('simple-layout')
-
-@section('toolbar')
- <div class="col-sm-12 faded">
- @include('books._breadcrumbs', ['book' => $book])
- </div>
-@stop
-
-@section('body')
-
- <div class="container">
- <p> </p>
- <div class="card">
- <h3>@icon('lock') {{ trans('entities.books_permissions') }}</h3>
- <div class="body">
- @include('form/restriction-form', ['model' => $book])
- </div>
- </div>
- </div>
-
-@stop
@extends('simple-layout')
-@section('toolbar')
- <div class="col-sm-12 faded">
- @include('books._breadcrumbs', ['book' => $book])
- </div>
-@stop
-
@section('body')
<div class="container">
- <div class="row">
- <div class="col-md-8">
- <div class="card">
- <h3>@icon('sort') {{ trans('entities.books_sort') }}</h3>
- <div class="body">
- <div id="sort-boxes">
- @include('books/sort-box', ['book' => $book, 'bookChildren' => $bookChildren])
- </div>
+ <div class="my-l">
+ @include('partials.breadcrumbs', ['crumbs' => [
+ $book,
+ $book->getUrl('/sort') => trans('entities.books_sort')
+ ]])
+ </div>
- <form action="{{ $book->getUrl('/sort') }}" method="POST">
- {!! csrf_field() !!}
- <input type="hidden" name="_method" value="PUT">
- <input type="hidden" id="sort-tree-input" name="sort-tree">
- <div class="list">
- <a href="{{ $book->getUrl() }}" class="button outline">{{ trans('common.cancel') }}</a>
- <button class="button pos" type="submit">{{ trans('entities.books_sort_save') }}</button>
- </div>
- </form>
+ <div class="grid left-focus large-gap">
+ <div>
+ <div class="card content-wrap">
+ <h1 class="list-heading">{{ trans('entities.books_sort') }}</h1>
+ <div id="sort-boxes">
+ @include('books/sort-box', ['book' => $book, 'bookChildren' => $bookChildren])
</div>
+
+ <form action="{{ $book->getUrl('/sort') }}" method="POST">
+ {!! csrf_field() !!}
+ <input type="hidden" name="_method" value="PUT">
+ <input type="hidden" id="sort-tree-input" name="sort-tree">
+ <div class="list text-right">
+ <a href="{{ $book->getUrl() }}" class="button outline">{{ trans('common.cancel') }}</a>
+ <button class="button primary" type="submit">{{ trans('entities.books_sort_save') }}</button>
+ </div>
+ </form>
</div>
</div>
- @if(count($books) > 1)
- <div class="col-md-4">
- <div class="card">
- <h3>@icon('book') {{ trans('entities.books_sort_show_other') }}</h3>
- <div class="body" id="additional-books">
- @foreach($books as $otherBook)
- @if($otherBook->id !== $book->id)
- <div>
- <a href="{{ $otherBook->getUrl('/sort-item') }}" class="text-book">@icon('book'){{ $otherBook->name }}</a>
- </div>
- @endif
- @endforeach
+
+ <div>
+ @if(count($books) > 1)
+ <div class="card content-wrap">
+ <h2 class="list-heading">{{ trans('entities.books_sort_show_other') }}</h2>
+ <div id="additional-books">
+ @foreach($books as $otherBook)
+ @if($otherBook->id !== $book->id)
+ <div>
+ <a href="{{ $otherBook->getUrl('/sort-item') }}" class="text-book">@icon('book'){{ $otherBook->name }}</a>
+ </div>
+ @endif
+ @endforeach
+ </div>
</div>
- </div>
+ @endif
</div>
- @endif
</div>
+
</div>
@stop
@extends('simple-layout')
-@section('toolbar')
- <div class="col-sm-12 faded">
- <div class="breadcrumbs">
- <a href="{{ $book->getUrl() }}" class="text-book text-button">@icon('book'){{ $book->getShortName() }}</a>
- <span class="sep">»</span>
- <a href="{{ $book->getUrl('/create-chapter')}}" class="text-button">@icon('add'){{ trans('entities.chapters_create') }}</a>
- </div>
- </div>
-@stop
-
@section('body')
-
<div class="container small">
- <div class="card">
- <h3>@icon('add') {{ trans('entities.chapters_create') }}</h3>
- <div class="body">
- <form action="{{ $book->getUrl('/create-chapter') }}" method="POST">
- @include('chapters/form')
- </form>
- </div>
+
+ <div class="my-l">
+ @include('partials.breadcrumbs', ['crumbs' => [
+ $book,
+ $book->getUrl('create-chapter') => trans('entities.chapters_create')
+ ]])
+ </div>
+
+ <div class="content-wrap card">
+ <h1 class="list-heading">{{ trans('entities.chapters_create') }}</h1>
+ <form action="{{ $book->getUrl('/create-chapter') }}" method="POST">
+ @include('chapters/form')
+ </form>
</div>
- </div>
+ </div>
@stop
\ No newline at end of file
@extends('simple-layout')
-@section('toolbar')
- <div class="col-sm-12 faded">
- @include('chapters._breadcrumbs', ['chapter' => $chapter])
- </div>
-@stop
-
@section('body')
<div class="container small">
- <p> </p>
- <div class="card">
- <h3>@icon('edit') {{ trans('entities.chapters_edit') }}</h3>
- <div class="body">
- <form action="{{ $chapter->getUrl() }}" method="POST">
- <input type="hidden" name="_method" value="PUT">
- @include('chapters/form', ['model' => $chapter])
- </form>
- </div>
+
+ <div class="my-l">
+ @include('partials.breadcrumbs', ['crumbs' => [
+ $book,
+ $chapter,
+ $chapter->getUrl('/edit') => trans('entities.chapters_edit')
+ ]])
</div>
+
+ <div class="content-wrap card">
+ <h1 class="list-heading">{{ trans('entities.chapters_edit') }}</h1>
+ <form action="{{ $chapter->getUrl() }}" method="POST">
+ <input type="hidden" name="_method" value="PUT">
+ @include('chapters/form', ['model' => $chapter])
+ </form>
+ </div>
+
</div>
@stop
\ No newline at end of file
<div class="form-group text-right">
<a href="{{ isset($chapter) ? $chapter->getUrl() : $book->getUrl() }}" class="button outline">{{ trans('common.cancel') }}</a>
- <button type="submit" class="button pos">{{ trans('entities.chapters_save') }}</button>
+ <button type="submit" class="button primary">{{ trans('entities.chapters_save') }}</button>
</div>
<div class="card">
<h3>@icon('lock') {{ trans('entities.chapters_permissions') }}</h3>
<div class="body">
- @include('form/restriction-form', ['model' => $chapter])
+ @include('form.entity-permissions', ['model' => $chapter])
</div>
</div>
</div>
@include('form/checkbox', ['name' => 'restricted', 'label' => trans('entities.permissions_enable')])
</div>
-
<table class="table">
<tr>
<th>{{ trans('common.role') }}</th>
<div class="text-right">
<a href="{{ $model->getUrl() }}" class="button outline">{{ trans('common.cancel') }}</a>
- <button type="submit" class="button pos">{{ trans('entities.permissions_save') }}</button>
+ <button type="submit" class="button primary">{{ trans('entities.permissions_save') }}</button>
</div>
</form>
\ No newline at end of file
<div class="card">
<h3>@icon('lock') {{ trans('entities.pages_permissions') }}</h3>
<div class="body">
- @include('form.restriction-form', ['model' => $page])
+ @include('form.entity-permissions', ['model' => $page])
</div>
</div>
</div>
<div class="card">
<h3>@icon('lock') {{ trans('entities.shelves_permissions') }}</h3>
<div class="body">
- @include('form/restriction-form', ['model' => $shelf])
+ @include('form.entity-permissions', ['model' => $shelf])
</div>
</div>
Route::delete('/{id}', 'BookController@destroy');
Route::get('/{slug}/sort-item', 'BookController@getSortItem');
Route::get('/{slug}', 'BookController@show');
- Route::get('/{bookSlug}/permissions', 'BookController@showRestrict');
- Route::put('/{bookSlug}/permissions', 'BookController@restrict');
+ Route::get('/{bookSlug}/permissions', 'BookController@showPermissions');
+ Route::put('/{bookSlug}/permissions', 'BookController@permissions');
Route::get('/{slug}/delete', 'BookController@showDelete');
Route::get('/{bookSlug}/sort', 'BookController@sort');
Route::put('/{bookSlug}/sort', 'BookController@saveSort');