From 67f2a72052c02015d9996dc4c711d7c327a0553c Mon Sep 17 00:00:00 2001
From: Damien <damien.burel@maarch.org>
Date: Mon, 27 Jan 2020 12:33:37 +0100
Subject: [PATCH] FEAT #12073 TIME 0:35 History keywords

---
 migration/20.03/2003.sql                    | 1 +
 src/app/user/controllers/UserController.php | 9 ++++++---
 src/core/lang/lang-en.php                   | 1 +
 src/core/lang/lang-fr.php                   | 1 +
 src/core/lang/lang-nl.php                   | 1 +
 src/frontend/lang/lang-en.ts                | 3 +++
 src/frontend/lang/lang-fr.ts                | 3 +++
 src/frontend/lang/lang-nl.ts                | 3 +++
 8 files changed, 19 insertions(+), 3 deletions(-)

diff --git a/migration/20.03/2003.sql b/migration/20.03/2003.sql
index c0364a43b41..ba06cd82741 100644
--- a/migration/20.03/2003.sql
+++ b/migration/20.03/2003.sql
@@ -581,6 +581,7 @@ FROM usergroups_services WHERE group_id IN (
     WHERE service_id = 'admin_users'
 );
 
+UPDATE history SET event_type = 'PRE' where event_type = 'RET';
 
 
 DO $$ 
diff --git a/src/app/user/controllers/UserController.php b/src/app/user/controllers/UserController.php
index e3878fb5a1e..faede12aff1 100755
--- a/src/app/user/controllers/UserController.php
+++ b/src/app/user/controllers/UserController.php
@@ -839,12 +839,15 @@ class UserController
         UserModel::updateStatus(['id' => $aArgs['id'], 'status' => $data['status']]);
 
         $user = UserModel::getById(['id' => $aArgs['id'], 'select' => ['user_id', 'firstname', 'lastname']]);
+        $message = "{$user['firstname']} {$user['lastname']} ";
+        $message .= ($data['status'] == 'ABS' ? _GO_ON_VACATION : _BACK_FROM_VACATION);
+
         HistoryController::add([
             'tableName'    => 'users',
             'recordId'     => $user['user_id'],
-            'eventType'    => 'UP',
+            'eventType'    => $data['status'] == 'ABS' ? 'ABS' : 'PRE',
             'eventId'      => 'userabs',
-            'info'         => "{$user['firstname']} {$user['lastname']} " ._BACK_FROM_VACATION
+            'info'         => $message
         ]);
 
         return $response->withJson(['user' => UserModel::getById(['id' => $aArgs['id'], 'select' => ['status']])]);
@@ -1656,7 +1659,7 @@ class UserController
         HistoryController::add([
             'tableName'    => 'users',
             'recordId'     => $body['login'],
-            'eventType'    => 'UP',
+            'eventType'    => 'RESETPSW',
             'eventId'      => 'userModification',
             'info'         => _PASSWORD_REINIT_SENT
         ]);
diff --git a/src/core/lang/lang-en.php b/src/core/lang/lang-en.php
index 3f143e382e0..1b9ee95d940 100755
--- a/src/core/lang/lang-en.php
+++ b/src/core/lang/lang-en.php
@@ -136,6 +136,7 @@ define('_ACCOUNT_LOCKED_FOR', 'Too many connections attemps. Your account is loc
 define('_ACCOUNT_LOCKED_UNTIL', 'Too many connections attemps. Account locked until');
 define('_MAX_SIZE_UPLOAD_REACHED', 'File maximum size is exceeded');
 define('_PATH_OF_DOCSERVER_UNAPPROACHABLE', 'Inaccessible Docserver path');
+define('_GO_ON_VACATION', 'go on vacation');
 define('_BACK_FROM_VACATION', 'back from vacation');
 define('_DOC_DISPLAYING', 'Displaying document');
 define('_DOC_ADDED', 'Document added');
diff --git a/src/core/lang/lang-fr.php b/src/core/lang/lang-fr.php
index a4e14641119..70c69980f69 100755
--- a/src/core/lang/lang-fr.php
+++ b/src/core/lang/lang-fr.php
@@ -136,6 +136,7 @@ define('_ACCOUNT_LOCKED_FOR', 'Nombre de tentatives de connexion dépassée. Vot
 define('_ACCOUNT_LOCKED_UNTIL', 'Nombre de tentatives de connexion dépassée. Compte verrouillé jusqu\'au');
 define('_MAX_SIZE_UPLOAD_REACHED', 'Taille maximum de fichier dépassée');
 define('_PATH_OF_DOCSERVER_UNAPPROACHABLE', 'Chemin de la zone de stockage inaccessible');
+define('_GO_ON_VACATION', 'se met en absence');
 define('_BACK_FROM_VACATION', 'de retour de son absence');
 define('_DOC_DISPLAYING', 'Visualisation du document');
 define('_DOC_ADDED', 'Document ajouté');
diff --git a/src/core/lang/lang-nl.php b/src/core/lang/lang-nl.php
index 86d7f4b8504..8cf505a387f 100755
--- a/src/core/lang/lang-nl.php
+++ b/src/core/lang/lang-nl.php
@@ -136,6 +136,7 @@ define('_ACCOUNT_LOCKED_FOR', 'Aantal verbindingspogingen overschreden. Uw accou
 define('_ACCOUNT_LOCKED_UNTIL', 'Aantal verbindingspogingen overschreden. Account vergrendeld tot');
 define('_MAX_SIZE_UPLOAD_REACHED', 'Maximumgrootte van het bestand overschreden');
 define('_PATH_OF_DOCSERVER_UNAPPROACHABLE', 'Opslagruimtepad ontoegankelijk');
+define('_GO_ON_VACATION', 'go on vacation');//translate
 define('_BACK_FROM_VACATION', 'bij terugkeer na afwezigheid');
 define('_DOC_DISPLAYING', 'Weergave van het document');
 define('_DOC_ADDED', 'Document toegevoegd');
diff --git a/src/frontend/lang/lang-en.ts b/src/frontend/lang/lang-en.ts
index 16bf4293d1f..e2bbee1388d 100755
--- a/src/frontend/lang/lang-en.ts
+++ b/src/frontend/lang/lang-en.ts
@@ -1444,6 +1444,9 @@ export const LANG_EN = {
     "LOGIN": "Login",
     "LOGOUT": "Logout",
     "VIEW": "View",
+    "ABS": "Vacation",
+    "PRE": "Back absence",
+    "RESETPSW": "Password reset",
     "ERROR": "Error",
     "systemActions": "System action(s)",
     "viewAllHistory": "View all history",
diff --git a/src/frontend/lang/lang-fr.ts b/src/frontend/lang/lang-fr.ts
index ff86b6ac9a0..72c1c141fbe 100755
--- a/src/frontend/lang/lang-fr.ts
+++ b/src/frontend/lang/lang-fr.ts
@@ -1484,6 +1484,9 @@ export const LANG_FR = {
     "LOGIN": "Connexion",
     "LOGOUT": "Déconnexion",
     "VIEW": "Visualisation",
+    "ABS": "Absence",
+    "PRE": "Retour d'absence",
+    "RESETPSW": "Réinitialisation de mot de passe",
     "ERROR": "Erreur",
     "systemActions": "Événement(s) système",
     "viewAllHistory": "Afficher tout l'historique",
diff --git a/src/frontend/lang/lang-nl.ts b/src/frontend/lang/lang-nl.ts
index 25985a78b78..9cf76cecc56 100755
--- a/src/frontend/lang/lang-nl.ts
+++ b/src/frontend/lang/lang-nl.ts
@@ -1469,6 +1469,9 @@ export const LANG_NL = {
     "LOGIN": "Login", //_TO_TRANSLATE
     "LOGOUT": "Logout", //_TO_TRANSLATE
     "VIEW": "View", //_TO_TRANSLATE
+    "ABS": "Vacation",//_TO_TRANSLATE
+    "PRE": "Back absence",//_TO_TRANSLATE
+    "RESETPSW": "Password reset",//_TO_TRANSLATE
     "ERROR": "Error", //_TO_TRANSLATE
     "systemActions": "System action(s)", //_TO_TRANSLATE
     "viewAllHistory": "View all history", //_TO_TRANSLATE
-- 
GitLab