From 5b05764eb83ba89c4a7e259d9601c00a426b1a87 Mon Sep 17 00:00:00 2001
From: Guillaume Heurtier <guillaume.heurtier@maarch.org>
Date: Wed, 11 Dec 2019 16:53:49 +0100
Subject: [PATCH] FEAT #12560 TIME 0:10 added check on document

---
 src/app/email/controllers/EmailController.php | 50 +++++++++++--------
 1 file changed, 28 insertions(+), 22 deletions(-)

diff --git a/src/app/email/controllers/EmailController.php b/src/app/email/controllers/EmailController.php
index 7d879e5e30c..bdd1622bada 100644
--- a/src/app/email/controllers/EmailController.php
+++ b/src/app/email/controllers/EmailController.php
@@ -93,13 +93,15 @@ class EmailController
             'info'         => _EMAIL_ADDED
         ]);
 
-        HistoryController::add([
-            'tableName'    => 'res_letterbox',
-            'recordId'     => $args['data']['document']['id'],
-            'eventType'    => 'ADD',
-            'eventId'      => 'emailCreation',
-            'info'         => _EMAIL_ADDED
-        ]);
+        if (!empty($args['data']['document']['id'])) {
+            HistoryController::add([
+                'tableName' => 'res_letterbox',
+                'recordId'  => $args['data']['document']['id'],
+                'eventType' => 'ADD',
+                'eventId'   => 'emailCreation',
+                'info'      => _EMAIL_ADDED
+            ]);
+        }
 
         $isSent = ['success' => 'success'];
         if ($args['data']['status'] != 'DRAFT') {
@@ -207,13 +209,15 @@ class EmailController
             'info'         => _EMAIL_UPDATED
         ]);
 
-        HistoryController::add([
-            'tableName'    => 'res_letterbox',
-            'recordId'     => $args['data']['document']['id'],
-            'eventType'    => 'UP',
-            'eventId'      => 'emailModification',
-            'info'         => _EMAIL_UPDATED
-        ]);
+        if (!empty($args['data']['document']['id'])) {
+            HistoryController::add([
+                'tableName' => 'res_letterbox',
+                'recordId'  => $args['data']['document']['id'],
+                'eventType' => 'UP',
+                'eventId'   => 'emailModification',
+                'info'      => _EMAIL_UPDATED
+            ]);
+        }
 
         if ($body['status'] != 'DRAFT') {
             $customId = CoreConfigModel::getCustomId();
@@ -250,15 +254,17 @@ class EmailController
             'info'         => _EMAIL_REMOVED
         ]);
 
-        $document = (array)json_decode($email['document']);
+        if (!empty($email['data']['document'])) {
+            $document = (array)json_decode($email['document']);
 
-        HistoryController::add([
-            'tableName'    => 'res_letterbox',
-            'recordId'     => $document['id'],
-            'eventType'    => 'DEL',
-            'eventId'      => 'emailDeletion',
-            'info'         => _EMAIL_REMOVED
-        ]);
+            HistoryController::add([
+                'tableName' => 'res_letterbox',
+                'recordId'  => $document['id'],
+                'eventType' => 'DEL',
+                'eventId'   => 'emailDeletion',
+                'info'      => _EMAIL_REMOVED
+            ]);
+        }
 
         return $response->withStatus(204);
     }
-- 
GitLab