Maurits van der Schee 6 years ago
parent
commit
8f2da3cc30
2 changed files with 7 additions and 21 deletions
  1. 5
    5
      api.php
  2. 2
    16
      tests/Tests.php

+ 5
- 5
api.php View File

@@ -1136,7 +1136,7 @@ class PHP_CRUD_API {
1136 1136
 
1137 1137
 	protected function applyBeforeHandler(&$action,&$database,&$table,&$ids,&$callback,&$inputs) {
1138 1138
 		if (is_callable($callback,true)) {
1139
-			$max = (is_array($ids)&&count($ids))?:count($inputs);
1139
+			$max = is_array($ids)?count($ids):count($inputs);
1140 1140
 			$values = array('action'=>$action,'database'=>$database,'table'=>$table);
1141 1141
 			for ($i=0;$i<$max;$i++) {
1142 1142
 				$action = $values['action'];
@@ -1907,9 +1907,9 @@ class PHP_CRUD_API {
1907 1907
 
1908 1908
 		// reflection
1909 1909
 		list($tables,$collect,$select) = $this->findRelations($tables,$database,$auto_include);
1910
-		$fields = $this->findFields($tables,$database);
1911
-		if ($tenancy_function) $this->applyTenancyFunction($tenancy_function,$action,$database,$fields,$filters);
1912
-		$fields = $this->limitFields($fields,$columns,$exclude,$select,$database);
1910
+		$allFields = $this->findFields($tables,$database);
1911
+		if ($tenancy_function) $this->applyTenancyFunction($tenancy_function,$action,$database,$allFields,$filters);
1912
+		$fields = $this->limitFields($allFields,$columns,$exclude,$select,$database);
1913 1913
 		
1914 1914
 		// permissions
1915 1915
 		if ($table_authorizer) $this->applyTableAuthorizer($table_authorizer,$action,$database,$tables);
@@ -1922,7 +1922,7 @@ class PHP_CRUD_API {
1922 1922
 		foreach ($inputs as $k=>$context) {
1923 1923
 			$input = $this->filterInputByFields($context,$fields[$tables[0]]);
1924 1924
 
1925
-			if ($tenancy_function) $this->applyInputTenancy($tenancy_function,$action,$database,$tables[0],$input,$fields[$tables[0]]);
1925
+			if ($tenancy_function) $this->applyInputTenancy($tenancy_function,$action,$database,$tables[0],$input,$allFields[$tables[0]]);
1926 1926
 			if ($input_sanitizer) $this->applyInputSanitizer($input_sanitizer,$action,$database,$tables[0],$input,$fields[$tables[0]]);
1927 1927
 			if ($input_validator) $this->applyInputValidator($input_validator,$action,$database,$tables[0],$input,$fields[$tables[0]],$context);
1928 1928
 

+ 2
- 16
tests/Tests.php View File

@@ -661,20 +661,6 @@ abstract class Tests extends TestBase
661 661
         $test->expect('{"posts":{"columns":["id","user_id","category_id","content"],"records":[]},"post_tags":{"relations":{"post_id":"posts.id"},"columns":["id","post_id","tag_id"],"records":[]},"tags":{"relations":{"id":"post_tags.tag_id"},"columns":["id","name"],"records":[]}}');
662 662
     }
663 663
 
664
-    public function testListUsersExcludeTenancyId()
665
-    {
666
-        $test = new Api($this);
667
-        $test->get('/users?exclude=id');
668
-        $test->expect('{"users":{"columns":["username","location"],"records":[["user1","POINT(30 20)"]]}}');
669
-    }
670
-
671
-    public function testListUsersColumnsWithoutTenancyId()
672
-    {
673
-        $test = new Api($this);
674
-        $test->get('/users?columns=username,location');
675
-        $test->expect('{"users":{"columns":["username","location"],"records":[["user1","POINT(30 20)"]]}}');
676
-    }
677
-
678 664
     public function testTenancyCreateColumns()
679 665
     {
680 666
         // creation should fail, since due to tenancy function it will try to create with id=1, which is a PK and is already taken
@@ -696,7 +682,7 @@ abstract class Tests extends TestBase
696 682
         // should list only user with id=1 (exactly 1 record)
697 683
         $test = new Api($this);
698 684
         $test->get('/users?columns=username,location');
699
-        $test->expect('{"users":{"columns":["username","location"],"records":[["user1",null]]}}');
685
+        $test->expect('{"users":{"columns":["username","location"],"records":[["user1","POINT(30 20)"]]}}');
700 686
     }
701 687
 
702 688
     public function testTenancyListExclude()
@@ -704,7 +690,7 @@ abstract class Tests extends TestBase
704 690
         // should list only user with id=1 (exactly 1 record)
705 691
         $test = new Api($this);
706 692
         $test->get('/users?exclude=id');
707
-        $test->expect('{"users":{"columns":["username","location"],"records":[["user1",null]]}}');
693
+        $test->expect('{"users":{"columns":["username","location"],"records":[["user1","POINT(30 20)"]]}}');
708 694
     }
709 695
 
710 696
     public function testTenancyReadColumns()

Loading…
Cancel
Save