]> BookStack Code Mirror - bookstack/commitdiff
Updates search to use user slugs
authorDan Brown <redacted>
Wed, 10 Mar 2021 22:51:18 +0000 (22:51 +0000)
committerDan Brown <redacted>
Wed, 10 Mar 2021 22:51:18 +0000 (22:51 +0000)
app/Entities/Tools/SearchRunner.php
app/Http/Controllers/SearchController.php

index acfe8d9565fdf1ea2884d337e31e0402270f6cb9..dc2c04e3ec8890b13f3ea4a82cb7807bddf82ee9 100644 (file)
@@ -1,6 +1,7 @@
 <?php namespace BookStack\Entities\Tools;
 
 use BookStack\Auth\Permissions\PermissionService;
+use BookStack\Auth\User;
 use BookStack\Entities\EntityProvider;
 use BookStack\Entities\Models\Entity;
 use Illuminate\Database\Connection;
@@ -270,24 +271,20 @@ class SearchRunner
 
     protected function filterCreatedBy(EloquentBuilder $query, Entity $model, $input)
     {
-        if (!is_numeric($input) && $input !== 'me') {
-            return;
-        }
-        if ($input === 'me') {
-            $input = user()->id;
+        $userSlug = $input === 'me' ? user()->slug : trim($input);
+        $user = User::query()->where('slug', '=', $userSlug)->first(['id']);
+        if ($user) {
+            $query->where('created_by', '=', $user->id);
         }
-        $query->where('created_by', '=', $input);
     }
 
     protected function filterUpdatedBy(EloquentBuilder $query, Entity $model, $input)
     {
-        if (!is_numeric($input) && $input !== 'me') {
-            return;
-        }
-        if ($input === 'me') {
-            $input = user()->id;
+        $userSlug = $input === 'me' ? user()->slug : trim($input);
+        $user = User::query()->where('slug', '=', $userSlug)->first(['id']);
+        if ($user) {
+            $query->where('updated_by', '=', $user->id);
         }
-        $query->where('updated_by', '=', $input);
     }
 
     protected function filterInName(EloquentBuilder $query, Entity $model, $input)
index 21ebea378c06c11f897046575a3fe76a3d0185f9..bb824fd9bfedf1dec20799df7ab25d0b536774e3 100644 (file)
@@ -1,9 +1,6 @@
 <?php namespace BookStack\Http\Controllers;
 
 use BookStack\Actions\ViewService;
-use BookStack\Entities\Models\Book;
-use BookStack\Entities\Models\Bookshelf;
-use BookStack\Entities\Models\Entity;
 use BookStack\Entities\Tools\SearchRunner;
 use BookStack\Entities\Tools\ShelfContext;
 use BookStack\Entities\Tools\SearchOptions;