From bab27462aba7ec4370ce906913b663a13a289110 Mon Sep 17 00:00:00 2001 From: Dan Brown Date: Sun, 1 Jan 2017 17:33:06 +0000 Subject: [PATCH] Fixed issue where default user was over-fetched --- app/Http/Middleware/Authenticate.php | 2 -- app/Services/ViewService.php | 15 +++++++-------- 2 files changed, 7 insertions(+), 10 deletions(-) diff --git a/app/Http/Middleware/Authenticate.php b/app/Http/Middleware/Authenticate.php index 8461ed0ba..b78016688 100644 --- a/app/Http/Middleware/Authenticate.php +++ b/app/Http/Middleware/Authenticate.php @@ -4,8 +4,6 @@ namespace BookStack\Http\Middleware; use Closure; use Illuminate\Contracts\Auth\Guard; -use BookStack\Exceptions\UserRegistrationException; -use Setting; class Authenticate { diff --git a/app/Services/ViewService.php b/app/Services/ViewService.php index 1a9ee5f70..73b353d8f 100644 --- a/app/Services/ViewService.php +++ b/app/Services/ViewService.php @@ -5,9 +5,7 @@ use BookStack\View; class ViewService { - protected $view; - protected $user; protected $permissionService; /** @@ -18,7 +16,6 @@ class ViewService public function __construct(View $view, PermissionService $permissionService) { $this->view = $view; - $this->user = user(); $this->permissionService = $permissionService; } @@ -29,8 +26,9 @@ class ViewService */ public function add(Entity $entity) { - if ($this->user === null) return 0; - $view = $entity->views()->where('user_id', '=', $this->user->id)->first(); + $user = user(); + if ($user === null || $user->isDefault()) return 0; + $view = $entity->views()->where('user_id', '=', $user->id)->first(); // Add view if model exists if ($view) { $view->increment('views'); @@ -39,7 +37,7 @@ class ViewService // Otherwise create new view count $entity->views()->save($this->view->create([ - 'user_id' => $this->user->id, + 'user_id' => user()->id, 'views' => 1 ])); @@ -78,13 +76,14 @@ class ViewService */ public function getUserRecentlyViewed($count = 10, $page = 0, $filterModel = false) { - if ($this->user === null) return collect(); + $user = user(); + if ($user === null || $user->isDefault()) return collect(); $query = $this->permissionService ->filterRestrictedEntityRelations($this->view, 'views', 'viewable_id', 'viewable_type'); if ($filterModel) $query = $query->where('viewable_type', '=', get_class($filterModel)); - $query = $query->where('user_id', '=', user()->id); + $query = $query->where('user_id', '=', $user->id); $viewables = $query->with('viewable')->orderBy('updated_at', 'desc') ->skip($count * $page)->take($count)->get()->pluck('viewable');