From f69b722fe2c12efcca58dd2c5c85e6492bb370fa Mon Sep 17 00:00:00 2001 From: Guillaume Heurtier <guillaume.heurtier@maarch.org> Date: Wed, 28 Oct 2020 18:15:07 +0100 Subject: [PATCH] FEAT #12018 TIME 1:15 export delegate + change format in summary sheet --- .../resource/controllers/ExportController.php | 24 +++++++++++++++---- .../controllers/SummarySheetController.php | 16 +++++++++---- 2 files changed, 30 insertions(+), 10 deletions(-) diff --git a/src/app/resource/controllers/ExportController.php b/src/app/resource/controllers/ExportController.php index e64960eb0fc..a68a07f1b21 100755 --- a/src/app/resource/controllers/ExportController.php +++ b/src/app/resource/controllers/ExportController.php @@ -795,7 +795,7 @@ class ExportController $roles = array_column($roles, 'label', 'id'); $listInstances = ListInstanceModel::get([ - 'select' => ['item_id', 'item_mode'], + 'select' => ['item_id', 'item_mode', 'delegate'], 'where' => ['res_id in (?)', 'item_type = ?', 'difflist_type = ?'], 'data' => [$args['resId'], 'user_id', $args['listType']], 'order_by' => ['sequence'] @@ -803,18 +803,32 @@ class ExportController foreach ($listInstances as $listInstance) { if (!empty($listInstance['item_id'])) { - $user = UserModel::getById(['id' => $listInstance['item_id'], 'select' => ['firstname', 'lastname']]); + $user = UserModel::getLabelledUserById(['id' => $listInstance['item_id']]); + + $delegate = null; + if (!empty($listInstance['delegate'])) { + $delegate = UserModel::getLabelledUserById(['id' => $listInstance['delegate']]); + } if ($args['listType'] == 'VISA_CIRCUIT') { if ($listInstance['item_mode'] == 'cc') { $listInstance['item_mode'] = 'copy'; } $roleLabel = $roles[$listInstance['item_mode']]; - - $list[] = "{$user['firstname']} {$user['lastname']} ({$roleLabel})"; + + if (!empty($delegate)) { + $label = "{$delegate} ({$roleLabel}, " . _INSTEAD_OF . " {$user})"; + } else { + $label = "{$user} ({$roleLabel})"; + } } else { - $list[] = "{$user['firstname']} {$user['lastname']}"; + if (!empty($delegate)) { + $label = "{$delegate} (" . _INSTEAD_OF . " {$user})"; + } else { + $label = "{$user}"; + } } + $list[] = $label; } else { $list[] = _USER_DELETED; } diff --git a/src/app/resource/controllers/SummarySheetController.php b/src/app/resource/controllers/SummarySheetController.php index dab6e88e329..b1fa0f6a35b 100755 --- a/src/app/resource/controllers/SummarySheetController.php +++ b/src/app/resource/controllers/SummarySheetController.php @@ -586,16 +586,18 @@ class SummarySheetController break; } elseif ($listInstance['res_id'] == $resource['res_id']) { $mode = $listInstance['requested_signature'] ? 'Signataire' : 'Viseur'; - $userLabel = UserModel::getLabelledUserById(['id' => $listInstance['item_id']]) . " ({$mode}) "; + $userLabel = UserModel::getLabelledUserById(['id' => $listInstance['item_id']]); $delegate = !empty($listInstance['delegate']) ? UserModel::getLabelledUserById(['id' => $listInstance['delegate']]) : ''; if (!empty($delegate)) { - $userLabel = $delegate . ' ' . _INSTEAD_OF . ' ' . $userLabel; + $mode .= ', ' . _INSTEAD_OF . ' ' . $userLabel; + $userLabel = $delegate . " ({$mode}) "; + } else { + $userLabel .= " ({$mode}) "; } $users[] = [ 'user' => $userLabel, - 'mode' => $listInstance['requested_signature'] ? 'Signataire' : 'Viseur', 'date' => TextFormatModel::formatDate($listInstance['process_date']), ]; unset($args['data']['listInstancesVisa'][$listKey]); @@ -630,11 +632,15 @@ class SummarySheetController $user = UserModel::getLabelledUserById(['id' => $listInstance['item_id']]); $entity = UserModel::getPrimaryEntityById(['id' => $listInstance['item_id'], 'select' => ['entities.entity_label']]); - $userLabel = $user . " (" . $entity['entity_label'] . ")"; + $entityLabel = $entity['entity_label']; + $userLabel = $user; $delegate = !empty($listInstance['delegate']) ? UserModel::getLabelledUserById(['id' => $listInstance['delegate']]) : ''; if (!empty($delegate)) { - $userLabel = $delegate . ' ' . _INSTEAD_OF . ' ' . $userLabel; + $entityLabel .= ', ' . _INSTEAD_OF . ' ' . $userLabel; + $userLabel = $delegate . " (" . $entityLabel . ")"; + } else { + $userLabel .= " (" . $entityLabel . ")"; } $users[] = [ -- GitLab