From 5ad436e6e68572eb46a49ec84f593db79853945c Mon Sep 17 00:00:00 2001
From: VladimirCherkasov <vcherckasov@yandex.ru>
Date: Tue, 14 Jul 2015 13:20:49 +0300
Subject: [PATCH] Add procedure for updating request status

---
 db/StoredFunctions.sql                          | 17 +++++++++++++++++
 .../classes/Controller/Admin/Requests.php       |  3 +++
 .../application/classes/Model/Support.php       |  7 +++++++
 3 files changed, 27 insertions(+)

diff --git a/db/StoredFunctions.sql b/db/StoredFunctions.sql
index fdab316f5..483fa22ae 100644
--- a/db/StoredFunctions.sql
+++ b/db/StoredFunctions.sql
@@ -43,6 +43,7 @@ DROP FUNCTION IF EXISTS GetBitmaskByPagename//
 DROP FUNCTION IF EXISTS SetSettings//
 
 
+DROP FUNCTION IF EXISTS UpdateRequest//
 
 
 # -------------------------------------------------------------------------------------------
@@ -2233,6 +2234,22 @@ BEGIN
 END//
 
 
+DROP FUNCTION IF EXISTS UpdateRequest//
+CREATE FUNCTION `UpdateRequest` (
+    `pRequestID` INT,
+    `pStatus` enum('opened','processed','closed')
+) RETURNS int(11)
+NO SQL
+BEGIN
+    DECLARE EXIT HANDLER FOR SQLEXCEPTION RETURN -1;
+    UPDATE `requests`
+        SET requests.Status = pStatus
+        WHERE requests.ID = pRequestID
+        LIMIT 1;
+    RETURN ROW_COUNT()-1;
+END//
+
+
 
 
 # -------------------------------------------------------------------------------------------
diff --git a/~dev_rating/application/classes/Controller/Admin/Requests.php b/~dev_rating/application/classes/Controller/Admin/Requests.php
index cab904a80..a5b69e019 100644
--- a/~dev_rating/application/classes/Controller/Admin/Requests.php
+++ b/~dev_rating/application/classes/Controller/Admin/Requests.php
@@ -41,5 +41,8 @@ class Controller_Admin_Requests extends Controller_Environment_Admin
         ])->set_filename('admin/requests/errors');
     }
 
+    public function action_setStatus() {
+       // Model_Support::setStatus();
+    }
 }
             
diff --git a/~dev_rating/application/classes/Model/Support.php b/~dev_rating/application/classes/Model/Support.php
index 4f055f756..387011548 100644
--- a/~dev_rating/application/classes/Model/Support.php
+++ b/~dev_rating/application/classes/Model/Support.php
@@ -41,4 +41,11 @@ class Model_Support extends Model
             ->param(':filter', $statusFilter)
             ->execute()->get('Num');
     }
+    public static function setStatus($requestID, $status) {
+        $sql = "SELECT `UpdateRequest`(:requestID, :status) AS 'Num';";
+        return DB::query(Database::SELECT, $sql)
+            ->param(':requestID', (int) $requestID)
+            ->param(':status', $status)
+            ->execute()->get('Num');
+    }
 }
-- 
GitLab