- Ensured watch options passed in all meta template usage to fix failing
scenarios where watch options did not exist.
- Fixed testing issue caused by guest user permission caching.
/**
* This holds the default user when loaded.
/**
* This holds the default user when loaded.
*/
protected static ?User $defaultUser = null;
*/
protected static ?User $defaultUser = null;
return static::$defaultUser;
}
return static::$defaultUser;
}
+ public static function clearDefault(): void
+ {
+ static::$defaultUser = null;
+ }
+
/**
* Check if the user is the default public user.
*/
/**
* Check if the user is the default public user.
*/
<div class="mb-xl">
<h5>{{ trans('common.details') }}</h5>
<div class="blended-links">
<div class="mb-xl">
<h5>{{ trans('common.details') }}</h5>
<div class="blended-links">
- @include('entities.meta', ['entity' => $book])
+ @include('entities.meta', ['entity' => $book, 'watchOptions' => $watchOptions])
@if($book->hasPermissions())
<div class="active-restriction">
@if(userCan('restrictions-manage', $book))
@if($book->hasPermissions())
<div class="active-restriction">
@if(userCan('restrictions-manage', $book))
<div class="mb-xl">
<h5>{{ trans('common.details') }}</h5>
<div class="blended-links">
<div class="mb-xl">
<h5>{{ trans('common.details') }}</h5>
<div class="blended-links">
- @include('entities.meta', ['entity' => $chapter])
+ @include('entities.meta', ['entity' => $chapter, 'watchOptions' => $watchOptions])
@if($book->hasPermissions())
<div class="active-restriction">
@if($book->hasPermissions())
<div class="active-restriction">
<div id="revision-details" class="entity-details mb-xl">
<h5>{{ trans('common.details') }}</h5>
<div class="body text-small text-muted">
<div id="revision-details" class="entity-details mb-xl">
<h5>{{ trans('common.details') }}</h5>
<div class="body text-small text-muted">
- @include('entities.meta', ['entity' => $revision])
+ @include('entities.meta', ['entity' => $revision, 'watchOptions' => null])
<div id="page-details" class="entity-details mb-xl">
<h5>{{ trans('common.details') }}</h5>
<div class="blended-links">
<div id="page-details" class="entity-details mb-xl">
<h5>{{ trans('common.details') }}</h5>
<div class="blended-links">
- @include('entities.meta', ['entity' => $page])
+ @include('entities.meta', ['entity' => $page, 'watchOptions' => $watchOptions])
@if($book->hasPermissions())
<div class="active-restriction">
@if($book->hasPermissions())
<div class="active-restriction">
<div id="details" class="mb-xl">
<h5>{{ trans('common.details') }}</h5>
<div class="blended-links">
<div id="details" class="mb-xl">
<h5>{{ trans('common.details') }}</h5>
<div class="blended-links">
- @include('entities.meta', ['entity' => $shelf])
+ @include('entities.meta', ['entity' => $shelf, 'watchOptions' => null])
@if($shelf->hasPermissions())
<div class="active-restriction">
@if(userCan('restrictions-manage', $shelf))
@if($shelf->hasPermissions())
<div class="active-restriction">
@if(userCan('restrictions-manage', $shelf))
]);
$this->assertPermissionError($resp);
]);
$this->assertPermissionError($resp);
+ $guest->unsetRelations();
}
public function test_watch_detail_display_reflects_state()
}
public function test_watch_detail_display_reflects_state()
*/
public function guest(): User
{
*/
public function guest(): User
{
- return User::where('system_name', '=', 'public')->firstOrFail();
+ return User::getDefault();
use BookStack\Entities\Models\Entity;
use BookStack\Settings\SettingService;
use BookStack\Uploads\HttpFetcher;
use BookStack\Entities\Models\Entity;
use BookStack\Settings\SettingService;
use BookStack\Uploads\HttpFetcher;
+use BookStack\Users\Models\User;
use GuzzleHttp\Client;
use GuzzleHttp\Handler\MockHandler;
use GuzzleHttp\HandlerStack;
use GuzzleHttp\Client;
use GuzzleHttp\Handler\MockHandler;
use GuzzleHttp\HandlerStack;
$this->permissions = new PermissionsProvider($this->users);
$this->files = new FileProvider();
$this->permissions = new PermissionsProvider($this->users);
$this->files = new FileProvider();
parent::setUp();
// We can uncomment the below to run tests with failings upon deprecations.
parent::setUp();
// We can uncomment the below to run tests with failings upon deprecations.