Skip to content

Commit 8f7686f

Browse files
authored
Merge pull request #4823 from Laravel-Backpack/use-crud-request
use request set in crud instead of global request instance
2 parents 27f9ec2 + 64322d5 commit 8f7686f

File tree

2 files changed

+19
-3
lines changed

2 files changed

+19
-3
lines changed

src/app/Library/CrudPanel/CrudFilter.php

+3-3
Original file line numberDiff line numberDiff line change
@@ -51,8 +51,8 @@ public function __construct($options, $values, $logic, $fallbackLogic)
5151
$this->fallbackLogic = $fallbackLogic;
5252
}
5353

54-
if (\Request::has($this->name)) {
55-
$this->currentValue = \Request::input($this->name);
54+
if ($this->crud()->getRequest()->has($this->name)) {
55+
$this->currentValue = $this->crud()->getRequest()->input($this->name);
5656
}
5757
}
5858

@@ -64,7 +64,7 @@ public function __construct($options, $values, $logic, $fallbackLogic)
6464
*/
6565
public function isActive()
6666
{
67-
if (\Request::has($this->name)) {
67+
if ($this->crud()->getRequest()->has($this->name)) {
6868
return true;
6969
}
7070

tests/Unit/CrudPanel/CrudPanelFiltersTest.php

+16
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,9 @@
22

33
namespace Backpack\CRUD\Tests\Unit\CrudPanel;
44

5+
use Backpack\CRUD\app\Library\CrudPanel\CrudFilter;
6+
use Backpack\CRUD\Tests\Unit\Models\User;
7+
58
/**
69
* @covers Backpack\CRUD\app\Library\CrudPanel\Traits\Filters
710
* @covers Backpack\CRUD\app\Library\CrudPanel\CrudFilter
@@ -33,4 +36,17 @@ public function testItCanClearFilters()
3336
$this->crudPanel->clearFilters();
3437
$this->assertCount(0, $this->crudPanel->filters());
3538
}
39+
40+
public function testItCanCheckIfFilterIsActiveFromRequest()
41+
{
42+
$this->crudPanel->setModel(User::class);
43+
$request = request()->create('/admin/users', 'GET', ['my_custom_filter' => 'foo']);
44+
$request->setRouteResolver(function () use ($request) {
45+
return (new Route('GET', 'admin/users', ['UserCrudController', 'index']))->bind($request);
46+
});
47+
$this->crudPanel->setRequest($request);
48+
49+
$isActive = CrudFilter::name('my_custom_filter')->isActive();
50+
$this->assertTrue($isActive);
51+
}
3652
}

0 commit comments

Comments
 (0)