Browse Source

Merge pull request #3420 from cakephp/issue-3419

Fix incorrect value in PaginatorHelper::counter()
José Lorenzo Rodríguez 12 years ago
parent
commit
b920dbbabf

+ 1 - 0
src/Controller/Component/PaginatorComponent.php

@@ -183,6 +183,7 @@ class PaginatorComponent extends Component {
 			'page' => $page,
 			'current' => $numResults,
 			'count' => $count,
+			'perPage' => $limit,
 			'prevPage' => ($page > 1),
 			'nextPage' => ($count > ($page * $limit)),
 			'pageCount' => $pageCount,

+ 2 - 2
src/View/Helper/PaginatorHelper.php

@@ -533,9 +533,9 @@ class PaginatorHelper extends Helper {
 		}
 		$start = 0;
 		if ($paging['count'] >= 1) {
-			$start = (($paging['page'] - 1) * $paging['limit']) + 1;
+			$start = (($paging['page'] - 1) * $paging['perPage']) + 1;
 		}
-		$end = $start + $paging['limit'] - 1;
+		$end = $start + $paging['perPage'] - 1;
 		if ($paging['count'] < $end) {
 			$end = $paging['count'];
 		}

+ 4 - 0
tests/TestCase/Controller/Component/PaginatorComponentTest.php

@@ -627,12 +627,14 @@ class PaginatorComponentTest extends TestCase {
 		];
 		$this->Paginator->paginate($table, $settings);
 		$this->assertEquals(100, $this->request->params['paging']['PaginatorPosts']['limit']);
+		$this->assertEquals(100, $this->request->params['paging']['PaginatorPosts']['perPage']);
 
 		$this->request->query = [
 			'limit' => '10'
 		];
 		$this->Paginator->paginate($table, $settings);
 		$this->assertEquals(10, $this->request->params['paging']['PaginatorPosts']['limit']);
+		$this->assertEquals(10, $this->request->params['paging']['PaginatorPosts']['perPage']);
 	}
 
 /**
@@ -683,6 +685,8 @@ class PaginatorComponentTest extends TestCase {
 		$this->assertEquals(2, $result['pageCount']);
 		$this->assertTrue($result['nextPage']);
 		$this->assertFalse($result['prevPage']);
+		$this->assertEquals(2, $result['perPage']);
+		$this->assertNull($result['limit']);
 	}
 
 /**

+ 2 - 0
tests/TestCase/View/Helper/PaginatorHelperTest.php

@@ -1800,6 +1800,7 @@ class PaginatorHelperTest extends TestCase {
 				'page' => 1,
 				'current' => 3,
 				'count' => 13,
+				'perPage' => 3,
 				'prevPage' => false,
 				'nextPage' => true,
 				'pageCount' => 5,
@@ -1938,6 +1939,7 @@ class PaginatorHelperTest extends TestCase {
 				'page' => 0,
 				'current' => 0,
 				'count' => 0,
+				'perPage' => 10,
 				'prevPage' => false,
 				'nextPage' => false,
 				'pageCount' => 0,