From d8727f71100d6f32aaa401aab5ac9ad444fa99e0 Mon Sep 17 00:00:00 2001
From: Nestor <npegane@hotmail.com>
Date: Thu, 21 Sep 2017 11:07:43 +0200
Subject: [PATCH] =?UTF-8?q?FEAT=20#5958=20ajout=20et=20suppression=20des?=
 =?UTF-8?q?=20entit=C3=A9s=20et=20gorupes=20=C3=A0=20un=20utilisateur=20tr?=
 =?UTF-8?q?ac=C3=A9s=20dans=20l'historique?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 apps/maarch_entreprise/lang/fr.php | 10 ++++++-
 core/Models/UserModelAbstract.php  | 42 +++++++++++++++++++++++++++++-
 2 files changed, 50 insertions(+), 2 deletions(-)

diff --git a/apps/maarch_entreprise/lang/fr.php b/apps/maarch_entreprise/lang/fr.php
index 6af191709f8..fe6f4383e40 100755
--- a/apps/maarch_entreprise/lang/fr.php
+++ b/apps/maarch_entreprise/lang/fr.php
@@ -597,7 +597,6 @@ if (!defined("_THE_USER")) define("_THE_USER", "L'utilisateur ");
 if (!defined("_USER_ID")) define("_USER_ID", "L'identifiant de l'utilisateur");
 if (!defined("_MY_INFO")) define("_MY_INFO", "Mon Profil");
 
-
 //class types
 if (!defined("_UNKNOWN_PARAM")) define("_UNKNOWN_PARAM", "Paramètres inconnus");
 if (!defined("_DOCTYPE_UPDATED")) define("_DOCTYPE_UPDATED", "Type de document modifié");
@@ -2002,6 +2001,15 @@ if (!defined('_UPDATED_PRIORITY'))
     define('_UPDATED_PRIORITY', 'Priorité modifiée');
 if (!defined('_DELETED_PRIORITY'))
     define('_DELETED_PRIORITY', 'Priorité supprimée');
+if (!defined("_FOR_USER"))    define("_FOR_USER", "pour l'utilisateur");
+if (!defined("_BY_USER"))    define("_BY_USER", "par l'utilisateur");
+if (!defined("_ADDED_USER"))    define("_ADDED_USER", "a ajouté l'utilisateur");
+if (!defined("_REMOVED_USER"))    define("_REMOVED_USER", "a retiré l'utilisateur");
+if (!defined("_FROM_GROUP"))    define("_FROM_GROUP", "du groupe");
+if (!defined("_FROM_ENTITY"))    define("_FROM_ENTITY", "de l'entité");
+if (!defined("_IN_GROUP"))    define("_IN_GROUP", "au groupe");
+if (!defined("_IN_ENTITY"))    define("_IN_ENTITY", "à l'entité");
+    
 /***** Administration *****/
 
 /**** admin update control ****/
diff --git a/core/Models/UserModelAbstract.php b/core/Models/UserModelAbstract.php
index 2da7fdbf9a7..a0cec33ae79 100755
--- a/core/Models/UserModelAbstract.php
+++ b/core/Models/UserModelAbstract.php
@@ -15,8 +15,9 @@
 
 namespace Core\Models;
 
+require_once 'core/class/class_history.php';
 use Entities\Models\EntityModel;
-
+use  Core\Models\GroupModel;
 class UserModelAbstract
 {
     public static function get(array $aArgs = [])
@@ -600,6 +601,16 @@ class UserModelAbstract
             ]
         ]);
 
+        $groupInfos = GroupModel::getById(['groupId' => $aArgs['groupId']]);
+
+        \Core\Controllers\HistoryController::add([
+            'table_name' => 'users', 
+            'record_id'  =>$user['user_id'], 
+            'event_type' => 'GROUP ADD', 
+            'event_id'   => 'groupadded',
+            'info'       =>$_SESSION['user']['UserId'].' '._ADDED_USER.' '.$user['user_id'].' '._IN_GROUP.' '.$groupInfos['group_desc']
+        ]);
+
         return true;
     }
 
@@ -635,6 +646,16 @@ class UserModelAbstract
             'data'      => [$aArgs['groupId'], $user['user_id']]
         ]);
 
+        $groupInfos = GroupModel::getById(['groupId' => $aArgs['groupId']]);
+
+        \Core\Controllers\HistoryController::add([
+            'table_name' => 'users', 
+            'record_id'  =>$user['user_id'], 
+            'event_type' => 'GROUP DELETED', 
+            'event_id'   => 'groupdeleted',
+            'info'       =>$_SESSION['user']['UserId'].' '._REMOVED_USER.' '.$user['user_id'].' '._FROM_GROUP.' '.$groupInfos['group_desc']
+        ]);
+
         return true;
     }
 
@@ -671,6 +692,15 @@ class UserModelAbstract
                 'primary_entity'    => $aArgs['primaryEntity']
             ]
         ]);
+        $entityInfos=EntityModel::getByID(['entityId' => $aArgs['entityId']]);
+
+        \Core\Controllers\HistoryController::add([
+            'table_name' => 'users', 
+            'record_id'  =>$user['user_id'], 
+            'event_type' => 'ENTITY ADD', 
+            'event_id'   => 'entityadded',
+            'info'       => $_SESSION['user']['UserId'].' '._ADDED_USER.' '.$user['user_id'].' '._IN_ENTITY.' '.$entityInfos['entity_label']
+        ]);
 
         return true;
     }
@@ -760,6 +790,16 @@ class UserModelAbstract
             'data'      => [$aArgs['entityId'], $user['user_id']]
         ]);
 
+        $entityInfos=EntityModel::getByID(['entityId' => $aArgs['entityId']]);
+
+        \Core\Controllers\HistoryController::add([
+            'table_name' => 'users', 
+            'record_id'  =>$user['user_id'], 
+            'event_type' => 'ENTITY DELETE', 
+            'event_id'   => 'entitydeleted',
+            'info'       =>$_SESSION['user']['UserId'].' '._REMOVED_USER.' '.$user['user_id'].' '._FROM_ENTITY.' '.$entityInfos['entity_label']
+        ]);
+
         return true;
     }
 
-- 
GitLab