From 65979ec0a1a02acccf7b235d8ca3f9ba9420604a Mon Sep 17 00:00:00 2001 From: Vinciane <vinciane.bizet@maarch.org> Date: Tue, 5 Mar 2019 18:13:50 +0100 Subject: [PATCH] FEAT #9514 Control contact --- .../AcknowledgementReceiptController.php | 67 +++++++++---------- 1 file changed, 30 insertions(+), 37 deletions(-) diff --git a/src/app/acknowledgementReceipt/controllers/AcknowledgementReceiptController.php b/src/app/acknowledgementReceipt/controllers/AcknowledgementReceiptController.php index ed2cbffd86a..94678c5e6b7 100644 --- a/src/app/acknowledgementReceipt/controllers/AcknowledgementReceiptController.php +++ b/src/app/acknowledgementReceipt/controllers/AcknowledgementReceiptController.php @@ -131,35 +131,7 @@ class AcknowledgementReceiptController //Verify resource category if (empty($ext) || $ext['category_id'] != 'incoming') { $noSendAR['number'] += 1; - array_push($noSendAR['list'], ['resId' => $resId, 'alt_identifier' => $ext['alt_identifier'], 'info' => 'Not incoming category' ]); - continue; - } - - //Verify associated contact - if ($ext['address_id'] == '' && $ext['is_multicontacts'] == '') { - $noSendAR['number'] += 1; - array_push($noSendAR['list'], ['resId' => $resId, 'alt_identifier' => $ext['alt_identifier'], 'info' => 'No contact' ]); - continue; - } - - $contactsToProcess = []; - if ($ext['is_multicontacts'] == 'Y') { - $multiContacts = DatabaseModel::select([ - 'select' => ['address_id'], - 'table' => ['contacts_res'], - 'where' => ['res_id = ?', 'mode = ?', 'address_id != ?'], - 'data' => [$resId, 'multi', 0] - ]); - foreach ($multiContacts as $multiContact) { - $contactsToProcess[] = $multiContact['address_id']; - } - } else { - $contactsToProcess[] = $ext['address_id']; - } - - if (empty($contactsToProcess)) { - $noSendAR['number'] += 1; - array_push($noSendAR['list'], ['resId' => $resId, 'alt_identifier' => $ext['alt_identifier'], 'info' => 'No contact' ]); + $noSendAR['list'][] = ['resId' => $resId, 'alt_identifier' => $ext['alt_identifier'], 'info' => 'Not incoming category' ]; continue; } @@ -183,7 +155,7 @@ class AcknowledgementReceiptController if (empty($template[0])) { $noSendAR['number'] += 1; - array_push($noSendAR['list'], ['resId' => $resId, 'alt_identifier' => $ext['alt_identifier'], 'info' => 'No template']); + $noSendAR['list'][] = ['resId' => $resId, 'alt_identifier' => $ext['alt_identifier'], 'info' => 'No template']; continue; } @@ -199,28 +171,49 @@ class AcknowledgementReceiptController if (!empty($acknowledgement)) { $alreadySend['number'] += 1; - array_push($alreadySend['list'], ['resId' => $resId, 'alt_identifier' => $ext['alt_identifier'], 'info' => 'AR already send' ]); + $alreadySend['list'][] = ['resId' => $resId, 'alt_identifier' => $ext['alt_identifier'], 'info' => 'AR already send' ]; continue; } - //Verify user informations - $currentUser = UserModel::getByLogin(['login' => $GLOBALS['userId'], 'select' => ['id']]); + // //Verify associated contact + $contactsToProcess = []; + if ($ext['is_multicontacts'] == 'Y') { + $multiContacts = DatabaseModel::select([ + 'select' => ['address_id'], + 'table' => ['contacts_res'], + 'where' => ['res_id = ?', 'mode = ?', 'address_id != ?'], + 'data' => [$resId, 'multi', 0] + ]); + foreach ($multiContacts as $multiContact) { + $contactsToProcess[] = $multiContact['address_id']; + } + } else { + $contactsToProcess[] = $ext['address_id']; + } + //Verify user informations foreach ($contactsToProcess as $contactToProcess) { $email = 0; $paper = 0; + + if (empty($contactToProcess)) { + $noSendAR['number'] += 1; + $noSendAR['list'][] = ['resId' => $resId, 'alt_identifier' => $ext['alt_identifier'], 'info' => 'No contact' ]; + continue; + } + $contact = ContactModel::getByAddressId(['addressId' => $contactToProcess, 'select' => ['email', 'address_street', 'address_town', 'address_postal_code']]); - if (empty($contact['address_street']) && empty($contact['address_town']) && empty($contact['address_postal_code'] && empty($contact['email']))) { + if (empty($contact['email']) || empty($contact['address_street']) || empty($contact['address_town']) || empty($contact['address_postal_code'])) { $noSendAR['number'] += 1; - array_push($noSendAR['list'], ['resId' => $resId, 'alt_identifier' => $ext['alt_identifier'], 'info' => 'No user informations' ]); + $noSendAR['list'][] = ['resId' => $resId, 'alt_identifier' => $ext['alt_identifier'], 'info' => 'No user informations' ]; continue; } if (!empty($contact['email'])) { if (empty($template[0]['template_content'])) { $noSendAR['number'] += 1; - array_push($noSendAR['list'], ['resId' => $resId, 'alt_identifier' => $ext['alt_identifier'], 'info' => 'No email template' ]); + $noSendAR['list'][] = ['resId' => $resId, 'alt_identifier' => $ext['alt_identifier'], 'info' => 'No email template' ]; continue; } else { $email += 1; @@ -229,7 +222,7 @@ class AcknowledgementReceiptController } else if (!empty($contact['address_street']) && !empty($contact['address_town']) && !empty($contact['address_postal_code'] )) { if (!file_exists($pathToDocument)) { $noSendAR['number'] += 1; - array_push($noSendAR['list'], ['resId' => $resId, 'alt_identifier' => $ext['alt_identifier'], 'info' => 'No paper template' ]); + $noSendAR['list'][] = ['resId' => $resId, 'alt_identifier' => $ext['alt_identifier'], 'info' => 'No paper template' ]; continue; } else { $paper += 1; -- GitLab