diff --git a/app/Filters/PaymentTermFilters.php b/app/Filters/PaymentTermFilters.php index 93b62e4ce0a4..86865ecc5ad5 100644 --- a/app/Filters/PaymentTermFilters.php +++ b/app/Filters/PaymentTermFilters.php @@ -112,7 +112,8 @@ class PaymentTermFilters extends QueryFilters */ public function entityFilter() { + return $this->builder->company(); //return $this->builder->whereCompanyId(auth()->user()->company()->id); - return $this->builder->whereCompanyId(auth()->user()->company()->id)->orWhere('company_id', null); + // return $this->builder->whereCompanyId(auth()->user()->company()->id)->orWhere('company_id', null); } } diff --git a/app/Filters/ProjectFilters.php b/app/Filters/ProjectFilters.php index bdd961a867ae..9821dbe627c2 100644 --- a/app/Filters/ProjectFilters.php +++ b/app/Filters/ProjectFilters.php @@ -107,7 +107,6 @@ class ProjectFilters extends QueryFilters $query = DB::table('projects') ->join('companies', 'companies.id', '=', 'projects.company_id') ->where('projects.company_id', '=', $company_id) - //->whereRaw('(projects.name != "" or contacts.first_name != "" or contacts.last_name != "" or contacts.email != "")') // filter out buy now invoices ->select( 'projects.id', 'projects.name', @@ -140,6 +139,8 @@ class ProjectFilters extends QueryFilters public function entityFilter() { //return $this->builder->whereCompanyId(auth()->user()->company()->id); - return $this->builder->whereCompanyId(auth()->user()->company()->id)->orWhere('company_id', null); + // return $this->builder->whereCompanyId(auth()->user()->company()->id)->orWhere('company_id', null); + return $this->builder->company(); + } } diff --git a/app/Filters/QueryFilters.php b/app/Filters/QueryFilters.php index 4d4860eb0077..d5e1bfeee626 100644 --- a/app/Filters/QueryFilters.php +++ b/app/Filters/QueryFilters.php @@ -88,6 +88,8 @@ abstract class QueryFilters } } + // nlog('[Search] SQL: ' . $this->builder->toSql() . " Bindings: " . implode(', ', $this->builder->getBindings())); + return $this->builder->withTrashed(); } diff --git a/tests/Feature/ProjectApiTest.php b/tests/Feature/ProjectApiTest.php index a9062e742cab..8d8ae594462e 100644 --- a/tests/Feature/ProjectApiTest.php +++ b/tests/Feature/ProjectApiTest.php @@ -84,10 +84,35 @@ class ProjectApiTest extends TestCase $response->assertStatus(302); } + } + + public function testProjectPostFilters() + { + $data = [ + 'name' => "Sherlock", + 'client_id' => $this->client->hashed_id, + ]; + + $response = $this->withHeaders([ + 'X-API-SECRET' => config('ninja.api_secret'), + 'X-API-TOKEN' => $this->token, + ])->post('/api/v1/projects', $data); + + $response->assertStatus(200); + + $response = $this->withHeaders([ + 'X-API-SECRET' => config('ninja.api_secret'), + 'X-API-TOKEN' => $this->token, + ])->get('/api/v1/projects?filter=Sherlock'); + + $arr = $response->json(); + + $this->assertEquals(1, count($arr['data'])); } + public function testProjectPut() { $data = [