From 16fd8f80a5a8edb635a4132b18828f3549b351a7 Mon Sep 17 00:00:00 2001
From: "florian.azizian" <florian.azizian@maarch.org>
Date: Wed, 19 Feb 2020 11:09:59 +0100
Subject: [PATCH] FEAT #11775 TIME 0:30 wording + history

---
 .../folder/controllers/FolderController.php   | 34 +++++++++++++++++--
 src/core/lang/lang-en.php                     |  2 ++
 src/core/lang/lang-fr.php                     |  2 ++
 src/core/lang/lang-nl.php                     |  2 ++
 .../app/folder/folder-tree.component.html     |  4 +--
 src/frontend/lang/lang-en.ts                  |  3 +-
 src/frontend/lang/lang-fr.ts                  |  1 +
 src/frontend/lang/lang-nl.ts                  |  1 +
 8 files changed, 44 insertions(+), 5 deletions(-)

diff --git a/src/app/folder/controllers/FolderController.php b/src/app/folder/controllers/FolderController.php
index c656428742a..afecf7c108c 100755
--- a/src/app/folder/controllers/FolderController.php
+++ b/src/app/folder/controllers/FolderController.php
@@ -618,11 +618,26 @@ class FolderController
             ResourceFolderModel::create(['folder_id' => $args['id'], 'res_id' => $value]);
         }
 
+        $folders             = FolderModel::getById(['select' => ['label'], 'id' => $args['id']]);
+        $resourcesInfo       = ResModel::get(['select' => ['alt_identifier'], 'where' => ['res_id in (?)'], 'data' => [$resourcesToClassify]]);
+        $resourcesIdentifier = array_column($resourcesInfo, 'alt_identifier');
+
+        foreach ($resourcesToClassify as $resource) {
+            HistoryController::add([
+                'tableName' => 'res_letterbox',
+                'recordId'  => $resource,
+                'eventType' => 'UP',
+                'info'      => _ADDED_TO_FOLDER . " \"" . $folders['label'] . "\"",
+                'moduleId'  => 'resource',
+                'eventId'   => 'resourceModification',
+            ]);
+        }
+
         HistoryController::add([
             'tableName' => 'resources_folders',
             'recordId'  => $args['id'],
             'eventType' => 'ADD',
-            'info'      => _FOLDER_RESOURCES_ADDED . " : " . implode(", ", $resourcesToClassify) . " " . _FOLDER_TO_FOLDER . " " . $args['id'],
+            'info'      => _FOLDER_RESOURCES_ADDED . " : " . implode(", ", $resourcesIdentifier) . " " . _FOLDER_TO_FOLDER . " \"" . $folders['label'] . "\"",
             'moduleId'  => 'folder',
             'eventId'   => 'folderResourceAdded',
         ]);
@@ -661,11 +676,26 @@ class FolderController
             ResourceFolderModel::delete(['where' => ['folder_id = ?', 'res_id = ?'], 'data' => [$args['id'], $value]]);
         }
 
+        $folders             = FolderModel::getById(['select' => ['label'], 'id' => $args['id']]);
+        $resourcesInfo       = ResModel::get(['select' => ['alt_identifier'], 'where' => ['res_id in (?)'], 'data' => [$resourcesToUnclassify]]);
+        $resourcesIdentifier = array_column($resourcesInfo, 'alt_identifier');
+
+        foreach ($resourcesToUnclassify as $resource) {
+            HistoryController::add([
+                'tableName' => 'res_letterbox',
+                'recordId'  => $resource,
+                'eventType' => 'UP',
+                'info'      => _REMOVED_TO_FOLDER . " \"" . $folders['label'] . "\"",
+                'moduleId'  => 'resource',
+                'eventId'   => 'resourceModification',
+            ]);
+        }
+
         HistoryController::add([
             'tableName' => 'resources_folders',
             'recordId'  => $args['id'],
             'eventType' => 'DEL',
-            'info'      => _FOLDER_RESOURCES_REMOVED . " : " . implode(", ", $resourcesToUnclassify) . " " . _FOLDER_TO_FOLDER . " " . $args['id'],
+            'info'      => _FOLDER_RESOURCES_REMOVED . " : " . implode(", ", $resourcesIdentifier) . " " . _FOLDER_TO_FOLDER . " \"" . $folders['label'] . "\"",
             'moduleId'  => 'folder',
             'eventId'   => 'folderResourceRemoved',
         ]);
diff --git a/src/core/lang/lang-en.php b/src/core/lang/lang-en.php
index 6b9d6c9e4a2..cfbe6d21d59 100755
--- a/src/core/lang/lang-en.php
+++ b/src/core/lang/lang-en.php
@@ -396,6 +396,8 @@ define("_FOLDER_SHARING_MODIFICATION", "Folder sharing modification");
 define("_FOLDER_RESOURCES_ADDED", "Added resources");
 define("_FOLDER_RESOURCES_REMOVED", "Removed resources");
 define("_FOLDER_TO_FOLDER", "to folder");
+define("_ADDED_TO_FOLDER", "Added to folder");
+define("_REMOVED_TO_FOLDER", "Removed from folder");
 
 define('_NOT_EXISTS', "doesn't exist");
 
diff --git a/src/core/lang/lang-fr.php b/src/core/lang/lang-fr.php
index 31e46c3241b..0a829a7c54e 100755
--- a/src/core/lang/lang-fr.php
+++ b/src/core/lang/lang-fr.php
@@ -396,6 +396,8 @@ define("_FOLDER_SHARING_MODIFICATION", "Partage de dossier modifié");
 define("_FOLDER_RESOURCES_ADDED", "Ressource(s) ajoutée(s)");
 define("_FOLDER_RESOURCES_REMOVED", "Ressource(s) retirée(s)");
 define("_FOLDER_TO_FOLDER", "au dossier");
+define("_ADDED_TO_FOLDER", "Ajouté au dossier");
+define("_REMOVED_TO_FOLDER", "Retiré du dossier");
 
 define("_NOT_EXISTS", "n'existe pas");
 
diff --git a/src/core/lang/lang-nl.php b/src/core/lang/lang-nl.php
index 4c85a72158c..8b65c09bd80 100755
--- a/src/core/lang/lang-nl.php
+++ b/src/core/lang/lang-nl.php
@@ -401,6 +401,8 @@ define("_FOLDER_SHARING_MODIFICATION", "Folder sharing modification_TO_TRANSLATE
 define("_FOLDER_RESOURCES_ADDED", "Added resources_TO_TRANSLATE");
 define("_FOLDER_RESOURCES_REMOVED", "Removed resources_TO_TRANSLATE");
 define("_FOLDER_TO_FOLDER", "to folder_TO_TRANSLATE");
+define("_ADDED_TO_FOLDER", "Added to folder"); //TO TRANSLATE
+define("_REMOVED_TO_FOLDER", "Removed from folder"); //TO TRANSLATE
 
 define('_NOT_EXISTS', 'bestaat niet');
 
diff --git a/src/frontend/app/folder/folder-tree.component.html b/src/frontend/app/folder/folder-tree.component.html
index 89cbdf2f63c..60a9026c219 100644
--- a/src/frontend/app/folder/folder-tree.component.html
+++ b/src/frontend/app/folder/folder-tree.component.html
@@ -53,7 +53,7 @@
                         <button mat-menu-item (click)="deleteNode(node)"
                             [disabled]="!node.canDelete">{{lang.delete}}</button>
                         <button mat-menu-item (click)="openFolderAdmin(node)"
-                            [disabled]="!node.edition">{{lang.update}}</button>
+                            [disabled]="!node.edition">{{lang.properties}}</button>
                     </mat-menu>
                 </a>
             </mat-tree-node>
@@ -111,7 +111,7 @@
                         <button mat-menu-item (click)="deleteNode(node)"
                             [disabled]="!node.canDelete">{{lang.delete}}</button>
                         <button mat-menu-item (click)="openFolderAdmin(node)"
-                            [disabled]="!node.edition">{{lang.update}}</button>
+                            [disabled]="!node.edition">{{lang.properties}}</button>
                     </mat-menu>
                 </a>
             </mat-tree-node>
diff --git a/src/frontend/lang/lang-en.ts b/src/frontend/lang/lang-en.ts
index a991702bca6..fc6f5646c47 100755
--- a/src/frontend/lang/lang-en.ts
+++ b/src/frontend/lang/lang-en.ts
@@ -1529,5 +1529,6 @@ export const LANG_EN = {
     "contactDeleted" : "Contact deleted",
     "badEmailsFormat" : "Some email address are not correct",
     "warnEmptySubject" : "You will send an email without subject, continue ?",  
-    "emailDeleted" : "Email deleted",  
+    "emailDeleted" : "Email deleted",
+    "properties" : "Properties",  
 };
diff --git a/src/frontend/lang/lang-fr.ts b/src/frontend/lang/lang-fr.ts
index 1f8c3b49018..6575d254fb1 100755
--- a/src/frontend/lang/lang-fr.ts
+++ b/src/frontend/lang/lang-fr.ts
@@ -1569,4 +1569,5 @@ export const LANG_FR = {
     "badEmailsFormat" : "Certaines adresses de courriel ne sont pas correctes",    
     "warnEmptySubject" : "Vous allez envoyer un courriel sans objet, continuer ?",    
     "emailDeleted" : "Courriel supprimé",    
+    "properties" : "Propriétés",
 };
diff --git a/src/frontend/lang/lang-nl.ts b/src/frontend/lang/lang-nl.ts
index b9abe2ae80e..d1231f40784 100755
--- a/src/frontend/lang/lang-nl.ts
+++ b/src/frontend/lang/lang-nl.ts
@@ -1555,4 +1555,5 @@ export const LANG_NL = {
     "badEmailsFormat" : "Some email address are not correct", //_TO_TRANSLATE
     "warnEmptySubject" : "You will send an email without subject, continue ?", //_TO_TRANSLATE
     "emailDeleted" : "Email deleted", //_TO_TRANSLATE
+    "properties" : "Properties", //_TO_TRANSLATE
 };
-- 
GitLab