mirror of
https://github.com/BookStackApp/BookStack.git
synced 2024-10-01 01:36:00 -04:00
Fixed issue with deleted users in page revision list & extended tests to cover.
This commit is contained in:
parent
af33156369
commit
497747e621
@ -269,7 +269,7 @@ class PageRepo
|
|||||||
* @param Page $page
|
* @param Page $page
|
||||||
* @return $this
|
* @return $this
|
||||||
*/
|
*/
|
||||||
private function saveRevision(Page $page)
|
public function saveRevision(Page $page)
|
||||||
{
|
{
|
||||||
$revision = $this->pageRevision->fill($page->toArray());
|
$revision = $this->pageRevision->fill($page->toArray());
|
||||||
$revision->page_id = $page->id;
|
$revision->page_id = $page->id;
|
||||||
|
@ -32,8 +32,12 @@
|
|||||||
@foreach($page->revisions as $revision)
|
@foreach($page->revisions as $revision)
|
||||||
<tr>
|
<tr>
|
||||||
<td>{{$revision->name}}</td>
|
<td>{{$revision->name}}</td>
|
||||||
<td style="line-height: 0;"><img class="avatar" src="{{ $revision->createdBy->getAvatar(30) }}" alt="{{$revision->createdBy->name}}"></td>
|
<td style="line-height: 0;">
|
||||||
<td> {{$revision->createdBy->name}}</td>
|
@if($revision->createdBy)
|
||||||
|
<img class="avatar" src="{{ $revision->createdBy->getAvatar(30) }}" alt="{{$revision->createdBy->name}}">
|
||||||
|
@endif
|
||||||
|
</td>
|
||||||
|
<td> @if($revision->createdBy) {{$revision->createdBy->name}} @else Deleted User @endif</td>
|
||||||
<td><small>{{$revision->created_at->format('jS F, Y H:i:s')}} ({{$revision->created_at->diffForHumans()}})</small></td>
|
<td><small>{{$revision->created_at->format('jS F, Y H:i:s')}} ({{$revision->created_at->diffForHumans()}})</small></td>
|
||||||
<td>
|
<td>
|
||||||
<a href="{{$revision->getUrl()}}" target="_blank">Preview</a>
|
<a href="{{$revision->getUrl()}}" target="_blank">Preview</a>
|
||||||
|
@ -173,26 +173,40 @@ class EntityTest extends TestCase
|
|||||||
|
|
||||||
public function testEntitiesViewableAfterCreatorDeletion()
|
public function testEntitiesViewableAfterCreatorDeletion()
|
||||||
{
|
{
|
||||||
|
// Create required assets and revisions
|
||||||
$creator = $this->getNewUser();
|
$creator = $this->getNewUser();
|
||||||
$updater = $this->getNewUser();
|
$updater = $this->getNewUser();
|
||||||
$entities = $this->createEntityChainBelongingToUser($creator, $updater);
|
$entities = $this->createEntityChainBelongingToUser($creator, $updater);
|
||||||
|
$this->actingAs($creator);
|
||||||
app('BookStack\Repos\UserRepo')->destroy($creator);
|
app('BookStack\Repos\UserRepo')->destroy($creator);
|
||||||
|
app('BookStack\Repos\PageRepo')->saveRevision($entities['page']);
|
||||||
|
|
||||||
$this->asAdmin()->visit($entities['book']->getUrl())->seeStatusCode(200)
|
$this->checkEntitiesViewable($entities);
|
||||||
->visit($entities['chapter']->getUrl())->seeStatusCode(200)
|
|
||||||
->visit($entities['page']->getUrl())->seeStatusCode(200);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testEntitiesViewableAfterUpdaterDeletion()
|
public function testEntitiesViewableAfterUpdaterDeletion()
|
||||||
{
|
{
|
||||||
|
// Create required assets and revisions
|
||||||
$creator = $this->getNewUser();
|
$creator = $this->getNewUser();
|
||||||
$updater = $this->getNewUser();
|
$updater = $this->getNewUser();
|
||||||
$entities = $this->createEntityChainBelongingToUser($creator, $updater);
|
$entities = $this->createEntityChainBelongingToUser($creator, $updater);
|
||||||
|
$this->actingAs($updater);
|
||||||
app('BookStack\Repos\UserRepo')->destroy($updater);
|
app('BookStack\Repos\UserRepo')->destroy($updater);
|
||||||
|
app('BookStack\Repos\PageRepo')->saveRevision($entities['page']);
|
||||||
|
|
||||||
$this->asAdmin()->visit($entities['book']->getUrl())->seeStatusCode(200)
|
$this->checkEntitiesViewable($entities);
|
||||||
|
}
|
||||||
|
|
||||||
|
private function checkEntitiesViewable($entities)
|
||||||
|
{
|
||||||
|
// Check pages and books are visible.
|
||||||
|
$this->asAdmin();
|
||||||
|
$this->visit($entities['book']->getUrl())->seeStatusCode(200)
|
||||||
->visit($entities['chapter']->getUrl())->seeStatusCode(200)
|
->visit($entities['chapter']->getUrl())->seeStatusCode(200)
|
||||||
->visit($entities['page']->getUrl())->seeStatusCode(200);
|
->visit($entities['page']->getUrl())->seeStatusCode(200);
|
||||||
|
// Check revision listing shows no errors.
|
||||||
|
$this->visit($entities['page']->getUrl())
|
||||||
|
->click('Revisions')->seeStatusCode(200);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user