mirror of
https://github.com/BookStackApp/BookStack.git
synced 2024-10-30 15:42:41 +01:00
Updated a bunch of book views
This commit is contained in:
parent
0efed43389
commit
32603362a6
@ -275,12 +275,12 @@ class BookController extends Controller
|
||||
* @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
|
||||
]);
|
||||
@ -289,11 +289,12 @@ class BookController extends Controller
|
||||
/**
|
||||
* 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);
|
||||
|
@ -175,7 +175,7 @@
|
||||
background-color: #FFF;
|
||||
box-shadow: $bs-card;
|
||||
border-radius: 3px;
|
||||
padding-bottom: $-xs;
|
||||
border: 1px solid transparent;
|
||||
h3 {
|
||||
padding: $-m;
|
||||
padding-bottom: $-xs;
|
||||
|
@ -57,6 +57,9 @@ body.flexbox {
|
||||
margin-bottom: $-xl;
|
||||
overflow: auto;
|
||||
min-height: 60vh;
|
||||
&.auto-height {
|
||||
min-height: 0;
|
||||
}
|
||||
}
|
||||
|
||||
.tri-layout-container {
|
||||
@ -199,6 +202,14 @@ div[class^="col-"] img {
|
||||
&.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 {
|
||||
@ -255,6 +266,9 @@ div[class^="col-"] img {
|
||||
.grid.third {
|
||||
grid-template-columns: 1fr 1fr;
|
||||
}
|
||||
.grid.left-focus {
|
||||
grid-template-columns: 1fr;
|
||||
}
|
||||
}
|
||||
|
||||
@include smaller-than($s) {
|
||||
|
@ -91,6 +91,9 @@
|
||||
padding-left: 1.5rem;
|
||||
padding-bottom: .2rem;
|
||||
}
|
||||
.icon {
|
||||
z-index: 2;
|
||||
}
|
||||
&:after, .sub-menu:after {
|
||||
content: '';
|
||||
display: block;
|
||||
@ -100,7 +103,7 @@
|
||||
bottom: 1rem;
|
||||
border-left: 2px solid #DDD;
|
||||
opacity: 0.6;
|
||||
z-index: 1;
|
||||
z-index: 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1,28 +1,27 @@
|
||||
@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>
|
||||
|
20
resources/views/books/permissions.blade.php
Normal file
20
resources/views/books/permissions.blade.php
Normal file
@ -0,0 +1,20 @@
|
||||
@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
|
@ -1,21 +0,0 @@
|
||||
@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
|
@ -1,53 +1,54 @@
|
||||
@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>
|
||||
|
||||
<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>
|
||||
</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>
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
<div class="my-l">
|
||||
@include('partials.breadcrumbs', ['crumbs' => [
|
||||
$book,
|
||||
$book->getUrl('/sort') => trans('entities.books_sort')
|
||||
]])
|
||||
</div>
|
||||
|
||||
<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>
|
||||
|
||||
<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>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
@stop
|
||||
|
@ -1,26 +1,21 @@
|
||||
@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>
|
||||
</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>
|
||||
@stop
|
@ -1,24 +1,25 @@
|
||||
@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
|
@ -22,5 +22,5 @@
|
||||
|
||||
<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>
|
||||
|
@ -13,7 +13,7 @@
|
||||
<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>
|
||||
|
@ -8,7 +8,6 @@
|
||||
@include('form/checkbox', ['name' => 'restricted', 'label' => trans('entities.permissions_enable')])
|
||||
</div>
|
||||
|
||||
|
||||
<table class="table">
|
||||
<tr>
|
||||
<th>{{ trans('common.role') }}</th>
|
||||
@ -29,6 +28,6 @@
|
||||
|
||||
<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>
|
@ -12,7 +12,7 @@
|
||||
<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>
|
||||
|
@ -13,7 +13,7 @@
|
||||
<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>
|
||||
|
||||
|
@ -40,8 +40,8 @@ Route::group(['middleware' => 'auth'], function () {
|
||||
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');
|
||||
|
Loading…
Reference in New Issue
Block a user