mirror of
https://github.com/BookStackApp/BookStack.git
synced 2024-08-26 12:16:07 +00:00
parent
cbff801aec
commit
4db2c274e2
@ -72,9 +72,15 @@
|
|||||||
@else
|
@else
|
||||||
<p class="text-muted">{{ trans('entities.books_empty_contents') }}</p>
|
<p class="text-muted">{{ trans('entities.books_empty_contents') }}</p>
|
||||||
<p>
|
<p>
|
||||||
|
@if(userCan('page-create', $book))
|
||||||
<a href="{{ $book->getUrl('/page/create') }}" class="text-page"><i class="zmdi zmdi-file-text"></i>{{ trans('entities.books_empty_create_page') }}</a>
|
<a href="{{ $book->getUrl('/page/create') }}" class="text-page"><i class="zmdi zmdi-file-text"></i>{{ trans('entities.books_empty_create_page') }}</a>
|
||||||
|
@endif
|
||||||
|
@if(userCan('page-create', $book) && userCan('chapter-create', $book))
|
||||||
<em class="text-muted">-{{ trans('entities.books_empty_or') }}-</em>
|
<em class="text-muted">-{{ trans('entities.books_empty_or') }}-</em>
|
||||||
|
@endif
|
||||||
|
@if(userCan('chapter-create', $book))
|
||||||
<a href="{{ $book->getUrl('/chapter/create') }}" class="text-chapter"><i class="zmdi zmdi-collection-bookmark"></i>{{ trans('entities.books_empty_add_chapter') }}</a>
|
<a href="{{ $book->getUrl('/chapter/create') }}" class="text-chapter"><i class="zmdi zmdi-collection-bookmark"></i>{{ trans('entities.books_empty_add_chapter') }}</a>
|
||||||
|
@endif
|
||||||
</p>
|
</p>
|
||||||
<hr>
|
<hr>
|
||||||
@endif
|
@endif
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
<?php namespace Tests;
|
<?php namespace Tests;
|
||||||
|
|
||||||
|
use BookStack\Entity;
|
||||||
use BookStack\Role;
|
use BookStack\Role;
|
||||||
use BookStack\Services\PermissionService;
|
use BookStack\Services\PermissionService;
|
||||||
use Illuminate\Contracts\Console\Kernel;
|
use Illuminate\Contracts\Console\Kernel;
|
||||||
@ -117,6 +118,16 @@ abstract class BrowserKitTest extends TestCase
|
|||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Helper for updating entity permissions.
|
||||||
|
* @param Entity $entity
|
||||||
|
*/
|
||||||
|
protected function updateEntityPermissions(Entity $entity)
|
||||||
|
{
|
||||||
|
$restrictionService = $this->app[PermissionService::class];
|
||||||
|
$restrictionService->buildJointPermissionsForEntity($entity);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Quick way to create a new user
|
* Quick way to create a new user
|
||||||
* @param array $attributes
|
* @param array $attributes
|
||||||
|
@ -639,4 +639,22 @@ class RolesTest extends BrowserKitTest
|
|||||||
$this->actingAs($viewer)->visit($page->getUrl())->assertResponseStatus(404);
|
$this->actingAs($viewer)->visit($page->getUrl())->assertResponseStatus(404);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function test_empty_state_actions_not_visible_without_permission()
|
||||||
|
{
|
||||||
|
$admin = $this->getAdmin();
|
||||||
|
// Book links
|
||||||
|
$book = factory(\BookStack\Book::class)->create(['created_by' => $admin->id, 'updated_by' => $admin->id]);
|
||||||
|
$this->updateEntityPermissions($book);
|
||||||
|
$this->actingAs($this->getViewer())->visit($book->getUrl())
|
||||||
|
->dontSee('Create a new page')
|
||||||
|
->dontSee('Add a chapter');
|
||||||
|
|
||||||
|
// Chapter links
|
||||||
|
$chapter = factory(\BookStack\Chapter::class)->create(['created_by' => $admin->id, 'updated_by' => $admin->id, 'book_id' => $book->id]);
|
||||||
|
$this->updateEntityPermissions($chapter);
|
||||||
|
$this->actingAs($this->getViewer())->visit($chapter->getUrl())
|
||||||
|
->dontSee('Create a new page')
|
||||||
|
->dontSee('Sort the current book');
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user