From e4db44f5f4a986c28081349afffd75cfe43fac4e Mon Sep 17 00:00:00 2001
From: "florian.azizian" <florian.azizian@maarch.org>
Date: Tue, 30 Apr 2019 10:14:16 +0100
Subject: [PATCH] FIX #10387 TIME 0:30 pb if no xparaph account + reindex after
 delete

---
 src/app/action/controllers/PreProcessActionController.php    | 5 ++++-
 .../externalSignatoryBook/controllers/XParaphController.php  | 2 +-
 2 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/src/app/action/controllers/PreProcessActionController.php b/src/app/action/controllers/PreProcessActionController.php
index efb2e9f98b9..f00e49ffb06 100755
--- a/src/app/action/controllers/PreProcessActionController.php
+++ b/src/app/action/controllers/PreProcessActionController.php
@@ -509,7 +509,10 @@ class PreProcessActionController
             } elseif ($signatureBookEnabled == 'xParaph') {
                 $userInfos  = UserModel::getByLogin(['login' => $GLOBALS['userId'], 'select' => ['external_id']]);
                 $externalId = json_decode($userInfos['external_id'], true);
-                $additionalsInfos['accounts'] = $externalId['xParaph'];
+                $additionalsInfos['accounts'] = [];
+                if (!empty($externalId['xParaph'])) {
+                    $additionalsInfos['accounts'] = $externalId['xParaph'];
+                }
 
                 foreach ($data['resources'] as $resId) {
                     $noAttachmentsResource = ResModel::getExtById(['resId' => $resId, 'select' => ['alt_identifier']]);
diff --git a/src/app/external/externalSignatoryBook/controllers/XParaphController.php b/src/app/external/externalSignatoryBook/controllers/XParaphController.php
index ca670bb056a..8433fe82aec 100755
--- a/src/app/external/externalSignatoryBook/controllers/XParaphController.php
+++ b/src/app/external/externalSignatoryBook/controllers/XParaphController.php
@@ -334,7 +334,6 @@ class XParaphController
 
     public static function retrieveSignedMails($aArgs)
     {
-
         $tmpPath = CoreConfigModel::getTmpPath();
         foreach (['noVersion', 'isVersion'] as $version) {
             $depotids = [];
@@ -550,6 +549,7 @@ class XParaphController
         foreach ($externalId['xParaph'] as $key => $value) {
             if ($value['login'] == $data['login'] && $value['siret'] == $data['siret']) {
                 unset($externalId['xParaph'][$key]);
+                $externalId['xParaph'] = array_values($externalId['xParaph']);
                 UserModel::updateExternalId(['id' => $user['id'], 'externalId' => json_encode($externalId)]);
                 $accountFound = true;
                 HistoryController::add([
-- 
GitLab