From 8bb73b144a6d49543686fce740b250288af373b0 Mon Sep 17 00:00:00 2001 From: VladimirCherkasov <vcherckasov@yandex.ru> Date: Mon, 13 Jul 2015 19:06:49 +0300 Subject: [PATCH] pages number in support --- db/StoredProcedures.sql | 17 ++++++++++++++++- .../classes/Controller/Admin/Requests.php | 8 ++++++-- .../application/classes/Model/Support.php | 6 ++++++ .../views/admin/requests/errors.twig | 2 ++ 4 files changed, 30 insertions(+), 3 deletions(-) diff --git a/db/StoredProcedures.sql b/db/StoredProcedures.sql index 29418ef2f..53b8059da 100644 --- a/db/StoredProcedures.sql +++ b/db/StoredProcedures.sql @@ -22,6 +22,8 @@ DROP PROCEDURE IF EXISTS GetReports// DROP PROCEDURE IF EXISTS GetSettings// +DROP PROCEDURE IF EXISTS RequestsNum// + # ------------------------------------------------------------------------------------------- # Label: abbreviations # ------------------------------------------------------------------------------------------- @@ -1431,9 +1433,22 @@ CREATE PROCEDURE `GetRequests` ( BEGIN SELECT requests.* FROM `requests` - WHERE IF(pFilter = 'all', TRUE, requests.Status = pFilter) + WHERE IF(pFilter = 'all', TRUE, requests.Status = pFilter) AND + requests.Title != '' AND + requests.Description != '' LIMIT pCount OFFSET pOffset; END// +DROP PROCEDURE IF EXISTS RequestsNum// +CREATE PROCEDURE `RequestsNum` () NO SQL +BEGIN + SELECT COUNT(*) + AS Num + FROM requests + WHERE requests.Title != '' AND + requests.Description != '' + ; + +END// DELIMITER ; diff --git a/~dev_rating/application/classes/Controller/Admin/Requests.php b/~dev_rating/application/classes/Controller/Admin/Requests.php index 21adcceba..d28416ff8 100644 --- a/~dev_rating/application/classes/Controller/Admin/Requests.php +++ b/~dev_rating/application/classes/Controller/Admin/Requests.php @@ -15,12 +15,16 @@ class Controller_Admin_Requests extends Controller_Environment_Admin } $offset = ($pageNum - 1) * $itemsOnPage; $reports = Model_Support::getReports($this->user->ID, $offset, $itemsOnPage); - if ( $reports == null) { + if ($reports == null) { throw new HTTP_Exception_404('Picture not found'); } + $requestNum = Model_Support::getNumberOfReports(); + $pagesNum = ceil($requestNum / $itemsOnPage); + $this->twig->set([ - 'Requests' => $reports + 'Requests' => $reports, + 'PagesNum' => $pagesNum ])->set_filename('admin/requests/errors'); } diff --git a/~dev_rating/application/classes/Model/Support.php b/~dev_rating/application/classes/Model/Support.php index fc25fcf7e..9b20dba18 100644 --- a/~dev_rating/application/classes/Model/Support.php +++ b/~dev_rating/application/classes/Model/Support.php @@ -34,4 +34,10 @@ class Model_Support extends Model ->param(':filter', $statusFilter) ->execute()->as_array(); } + + public static function getNumberOfReports() { + $query = "CALL `RequestsNum`"; + return DB::query(Database::SELECT, $query) + ->execute()->get('Num'); + } } diff --git a/~dev_rating/application/views/admin/requests/errors.twig b/~dev_rating/application/views/admin/requests/errors.twig index eb429bf7d..daaa1e9f3 100644 --- a/~dev_rating/application/views/admin/requests/errors.twig +++ b/~dev_rating/application/views/admin/requests/errors.twig @@ -9,6 +9,8 @@ {% block main_content %} <div></div> + {{ PagesNum }} + <div class="listPage1"> {% for req in Requests %} <div class="repBlock" > -- GitLab