From dfb41b3499a40eccf39ec451ee8ce679bfa983fb Mon Sep 17 00:00:00 2001 From: Anton Bagliy <taccessviolation@gmail.com> Date: Thu, 17 Jan 2019 00:20:40 +0300 Subject: [PATCH] ADD: logging final form export #284 --- db/postgresql/add_rate_sync_logs_15_01_18.sql | 3 +-- .../classes/Controller/Api/V0/FinalReport.php | 6 ++++++ ~dev_rating/application/classes/Model/Logs.php | 11 +++++++++++ 3 files changed, 18 insertions(+), 2 deletions(-) diff --git a/db/postgresql/add_rate_sync_logs_15_01_18.sql b/db/postgresql/add_rate_sync_logs_15_01_18.sql index d5587acae..364eccad4 100644 --- a/db/postgresql/add_rate_sync_logs_15_01_18.sql +++ b/db/postgresql/add_rate_sync_logs_15_01_18.sql @@ -1,4 +1,3 @@ - CREATE SEQUENCE seq_logs_form_export START WITH 1 INCREMENT BY 1 @@ -6,7 +5,7 @@ CREATE SEQUENCE seq_logs_form_export NO MAXVALUE CACHE 1; - +DROP TABLE IF EXISTS logs_form_export; CREATE TABLE logs_form_export ( id integer DEFAULT nextval('seq_logs_form_export'::regclass) NOT NULL, discipline_id integer NOT NULL, diff --git a/~dev_rating/application/classes/Controller/Api/V0/FinalReport.php b/~dev_rating/application/classes/Controller/Api/V0/FinalReport.php index 1766244dd..89b68d7f8 100644 --- a/~dev_rating/application/classes/Controller/Api/V0/FinalReport.php +++ b/~dev_rating/application/classes/Controller/Api/V0/FinalReport.php @@ -13,6 +13,7 @@ class Controller_Api_V0_FinalReport extends Controller_Handler_Api { $gradenum = $this->request->query('gradenum'); $faculty = $this->request->query('faculty'); $study_form = $this->request->query('study_form'); + $emulate = $this->request->query('emulate'); // Получаем ведомость из БД if (isset($discipline) and !isset($groupnum)) { @@ -34,6 +35,11 @@ class Controller_Api_V0_FinalReport extends Controller_Handler_Api { ]; } + if (!isset($emulate) and isset($groupnum)) { + $groupID = Model_Group::find($gradenum, $groupnum, $study_form, $faculty); + Model_Logs::logFormExport($this->user->ID, $discipline, $groupID); + } + return $response; } catch (Exception $e) { $this->badRequestError($e->getMessage()); diff --git a/~dev_rating/application/classes/Model/Logs.php b/~dev_rating/application/classes/Model/Logs.php index f1a0c82ab..9c25a160b 100644 --- a/~dev_rating/application/classes/Model/Logs.php +++ b/~dev_rating/application/classes/Model/Logs.php @@ -41,4 +41,15 @@ class Model_Logs extends Model return $result; } + public static function logFormExport($accountID, $disciplineID, $groupID) { + $query = 'SELECT * FROM log_form_export(:account, :discipline, :group)'; + + $result = DB::query(Database::UPDATE, $query) + ->param(':account', $accountID) + ->param(':discipline', $disciplineID) + ->param(':group', $groupID) + ->execute(); + return $result; + } + } -- GitLab