From 2334f63c2c952e0a600ecb2fe9a560d45ca25420 Mon Sep 17 00:00:00 2001 From: Bryan Cuccioli Date: Mon, 01 Apr 2013 15:15:23 +0000 Subject: [PATCH] Paginate token leader board. Summary: Add pagination to leader board. Add key on token count in db. Test Plan: Set page size to 1 and give tokens to two tasks. Reviewers: epriestley, AnhNhan Reviewed By: epriestley CC: aran, Korvin Differential Revision: https://secure.phabricator.com/D5513 --- resources/sql/patches/20130321.token.sql | 2 ++ src/applications/tokens/controller/PhabricatorTokenLeaderController.php | 8 +++++--- src/infrastructure/storage/patch/PhabricatorBuiltinPatchList.php | 4 ++++ 3 file(s) changed, 11 insertion(s)(+), 3 deletion(s)(-) diff --git a/resources/sql/patches/20130321.token.sql b/resources/sql/patches/20130321.token.sql new file mode 100644 --- /dev/null +++ b/resources/sql/patches/20130321.token.sql @@ -0,0 +1,2 @@ +ALTER TABLE {$NAMESPACE}_token.token_count + ADD KEY `key_count` (tokenCount); diff --git a/src/applications/tokens/controller/PhabricatorTokenLeaderController.php b/src/applications/tokens/controller/PhabricatorTokenLeaderController.php --- a/src/applications/tokens/controller/PhabricatorTokenLeaderController.php +++ b/src/applications/tokens/controller/PhabricatorTokenLeaderController.php @@ -6,11 +6,13 @@ public function processRequest() { $request = $this->getRequest(); $user = $request->getUser(); - $pager = id(new AphrontCursorPagerView()) - ->readFromRequest($request); + + $pager = new AphrontPagerView(); + $pager->setURI($request->getRequestURI(), 'page'); + $pager->setOffset($request->getInt('page')); $query = id(new PhabricatorTokenReceiverQuery()); - $objects = $query->setViewer($user)->execute(); + $objects = $query->setViewer($user)->executeWithOffsetPager($pager); $counts = $query->getTokenCounts(); $handles = array(); diff --git a/src/infrastructure/storage/patch/PhabricatorBuiltinPatchList.php b/src/infrastructure/storage/patch/PhabricatorBuiltinPatchList.php --- a/src/infrastructure/storage/patch/PhabricatorBuiltinPatchList.php +++ b/src/infrastructure/storage/patch/PhabricatorBuiltinPatchList.php @@ -1202,6 +1202,10 @@ 'type' => 'sql', 'name' => $this->getPatchPath('20130317.phrictionedge.sql'), ), + '20130321.token.sql' => array( + 'type' => 'sql', + 'name' => $this->getPatchPath('20130321.token.sql'), + ), '20130310.xactionmeta.sql' => array( 'type' => 'sql', 'name' => $this->getPatchPath('20130310.xactionmeta.sql'), -- tangled.sh