diff --git a/db/StoredProcedures.sql b/db/StoredProcedures.sql index 29418ef2fe1943e0c8724b447e4236b95583a605..53b8059dadc48e44dbb0648be788ebcab6eeea6b 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 21adcceba23220681c18593e2aff7f56a7e59c58..d28416ff8e3098cfc94106096cc9fdadc325747e 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 fc25fcf7eac01311ea519652f052ef32775cd8e1..9b20dba183849105b54bb6d01937a5416a59bb7c 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 eb429bf7db52aef9c2646afe969d1422405e5792..daaa1e9f368011f9c13e2ba614156fb300423259 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" >