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 filterOwnedBy(EloquentBuilder $query, Entity $model, $input)
+ {
+ if (!is_numeric($input) && $input !== 'me') {
+ return;
+ }
+ if ($input === 'me') {
+ $input = user()->id;
+ }
+ $query->where('owned_by', '=', $input);
+ }
+
protected function filterInName(EloquentBuilder $query, Entity $model, $input)
{
$query->where('name', 'like', '%' .$input. '%');
$page->created_by = $editorId;
$page->save();
$this->get('/search?term=' . urlencode('danzorbhsing {created_by:me}'))->assertSee($page->name);
- $this->get('/search?term=' . urlencode('danzorbhsing {created_by:'.$editorId.'}'))->assertSee($page->name);
+ $this->get('/search?term=' . urlencode('danzorbhsing {created_by: '.$editorSlug.'}'))->assertSee($page->name);
$this->get('/search?term=' . urlencode('danzorbhsing {updated_by:me}'))->assertDontSee($page->name);
+ $this->get('/search?term=' . urlencode('danzorbhsing {owned_by:me}'))->assertDontSee($page->name);
$page->updated_by = $editorId;
$page->save();
$this->get('/search?term=' . urlencode('danzorbhsing {updated_by:me}'))->assertSee($page->name);
- $this->get('/search?term=' . urlencode('danzorbhsing {updated_by: '.$editorSlug.'}'))->assertSee($page->name);
- $this->get('/search?term=' . urlencode('danzorbhsing {updated_by:'.$editorId.'}'))->assertSee($page->name);
++ $this->get('/search?term=' . urlencode('danzorbhsing {updated_by:'.$editorSlug.'}'))->assertSee($page->name);
+ $this->get('/search?term=' . urlencode('danzorbhsing {owned_by:me}'))->assertDontSee($page->name);
+ $page->owned_by = $editorId;
+ $page->save();
+ $this->get('/search?term=' . urlencode('danzorbhsing {owned_by:me}'))->assertSee($page->name);
- $this->get('/search?term=' . urlencode('danzorbhsing {owned_by:'.$editorId.'}'))->assertSee($page->name);
++ $this->get('/search?term=' . urlencode('danzorbhsing {owned_by:'.$editorSlug.'}'))->assertSee($page->name);
// Content filters
$this->get('/search?term=' . urlencode('{in_name:danzorbhsing}'))->assertDontSee($page->name);