From 50a51e6fd024cd562ef0a67db4bfa897553d6af9 Mon Sep 17 00:00:00 2001
From: Damien <damien.burel@maarch.org>
Date: Thu, 8 Feb 2018 15:46:12 +0100
Subject: [PATCH] FEAT #61 History for parameters

---
 .../controllers/ParameterController.php       | 27 ++++++++++++++++++-
 src/core/lang/lang-en.php                     |  3 +++
 src/core/lang/lang-fr.php                     |  3 +++
 3 files changed, 32 insertions(+), 1 deletion(-)

diff --git a/src/app/parameter/controllers/ParameterController.php b/src/app/parameter/controllers/ParameterController.php
index b74b608b020..261d73c742d 100644
--- a/src/app/parameter/controllers/ParameterController.php
+++ b/src/app/parameter/controllers/ParameterController.php
@@ -18,6 +18,7 @@
 namespace Parameter\controllers;
 
 use Core\Models\ServiceModel;
+use History\controllers\HistoryController;
 use Parameter\models\ParameterModel;
 use Respect\Validation\Validator;
 use Slim\Http\Request;
@@ -67,6 +68,14 @@ class ParameterController
         }
 
         ParameterModel::create($data);
+        HistoryController::add([
+            'tableName' => 'parameters',
+            'recordId'  => $data['id'],
+            'eventType' => 'ADD',
+            'info'      => _PARAMETER_CREATION . " : {$data['id']}",
+            'moduleId'  => 'parameter',
+            'eventId'   => 'parameterCreation',
+        ]);
 
         return $response->withJson(['success' => 'success']);
     }
@@ -83,9 +92,17 @@ class ParameterController
         }
 
         $data = $request->getParams();
-        $data['id'] = $aArgs['id'];
 
+        $data['id'] = $aArgs['id'];
         ParameterModel::update($data);
+        HistoryController::add([
+            'tableName' => 'parameters',
+            'recordId'  => $aArgs['id'],
+            'eventType' => 'UP',
+            'info'      => _PARAMETER_MODIFICATION . " : {$aArgs['id']}",
+            'moduleId'  => 'parameter',
+            'eventId'   => 'parameterModification',
+        ]);
 
         return $response->withJson(['success' => 'success']);
     }
@@ -97,6 +114,14 @@ class ParameterController
         }
 
         ParameterModel::delete(['id' => $aArgs['id']]);
+        HistoryController::add([
+            'tableName' => 'parameters',
+            'recordId'  => $aArgs['id'],
+            'eventType' => 'DEL',
+            'info'      => _PARAMETER_SUPPRESSION . " : {$aArgs['id']}",
+            'moduleId'  => 'parameter',
+            'eventId'   => 'parameterSuppression',
+        ]);
 
         $parameters = ParameterModel::get();
         foreach ($parameters as $key => $parameter) {
diff --git a/src/core/lang/lang-en.php b/src/core/lang/lang-en.php
index c9b6ef02218..b1391fb35f1 100644
--- a/src/core/lang/lang-en.php
+++ b/src/core/lang/lang-en.php
@@ -20,6 +20,9 @@ define('_ENTITY_CREATION', 'Entity creation');
 define('_ENTITY_MODIFICATION', 'Entity modification');
 define('_ENTITY_SUPPRESSION', 'Entity suppression');
 define('_INVALID_CLAUSE', 'Clause is not valid');
+define('_PARAMETER_CREATION', 'Parameter creation');
+define('_PARAMETER_MODIFICATION', 'Parameter modification');
+define('_PARAMETER_SUPPRESSION', 'Parameter suppression');
 define('_PRIORITY_CREATION', 'Priority creation');
 define('_PRIORITY_MODIFICATION', 'Priority modification');
 define('_PRIORITY_SUPPRESSION', 'Priority suppression');
diff --git a/src/core/lang/lang-fr.php b/src/core/lang/lang-fr.php
index 14982adb62a..2839e2dcd0c 100644
--- a/src/core/lang/lang-fr.php
+++ b/src/core/lang/lang-fr.php
@@ -20,6 +20,9 @@ define('_ENTITY_CREATION', 'Création entité');
 define('_ENTITY_MODIFICATION', 'Modification entité');
 define('_ENTITY_SUPPRESSION', 'Suppression entité');
 define('_INVALID_CLAUSE', 'Clause non valide');
+define('_PARAMETER_CREATION', 'Création paramètre');
+define('_PARAMETER_MODIFICATION', 'Modification paramètre');
+define('_PARAMETER_SUPPRESSION', 'Suppression paramètre');
 define('_PRIORITY_CREATION', 'Création priorité');
 define('_PRIORITY_MODIFICATION', 'Modification priorité');
 define('_PRIORITY_SUPPRESSION', 'Suppression priorité');
-- 
GitLab