From 8d28adbf63a9a4fe07e8bbd7cb8daaf5fb2961bf Mon Sep 17 00:00:00 2001 From: Guillaume Heurtier <guillaume.heurtier@maarch.org> Date: Tue, 24 Nov 2020 14:58:34 +0100 Subject: [PATCH] FEAT #11915 TIME 4:00 added workflow history in summary sheet --- .../controllers/SummarySheetController.php | 33 ++++++++++++++++--- .../summarySheet/summary-sheet.component.ts | 8 +++++ 2 files changed, 37 insertions(+), 4 deletions(-) diff --git a/src/app/resource/controllers/SummarySheetController.php b/src/app/resource/controllers/SummarySheetController.php index 9956fce3f5b..4bee8e3ccfe 100755 --- a/src/app/resource/controllers/SummarySheetController.php +++ b/src/app/resource/controllers/SummarySheetController.php @@ -21,6 +21,7 @@ use Endroid\QrCode\QrCode; use Entity\models\EntityModel; use Entity\models\ListInstanceModel; use ExternalSignatoryBook\controllers\MaarchParapheurController; +use History\models\HistoryModel; use IndexingModel\models\IndexingModelFieldModel; use Note\models\NoteEntityModel; use Note\models\NoteModel; @@ -783,6 +784,10 @@ class SummarySheetController } } + if (empty($config['data'])) { + continue; + } + $mainDocument = ResModel::getById([ 'resId' => $resource['res_id'], 'select' => ["external_id->>'signatureBookId' as external_id", 'alt_identifier', 'subject'] @@ -802,10 +807,6 @@ class SummarySheetController 'data' => [$resource['res_id']] ]); - if (empty($attachments)) { - continue; - } - foreach ($attachments as $attachment) { $documents[] = [ 'id' => $attachment['external_id'], @@ -848,7 +849,31 @@ class SummarySheetController } } } + } elseif ($unit['unit'] == 'workflowHistory') { + $historyList = HistoryModel::get([ + 'select' => ['record_id', 'event_date', 'user_id', 'info', 'remote_ip', 'count(1) OVER()'], + 'where' => ['table_name in (?)', 'event_type like ?', 'record_id = ?'], + 'data' => [['res_letterbox', 'res_view_letterbox'], 'ACTION#%', $resource['res_id']], + 'orderBy' => ['event_date'] + ]); + + if (!empty($historyList)) { + $pdf->SetY($pdf->GetY() + 40); + if (($pdf->GetY() + 37 + count($historyList) * 20) > $bottomHeight) { + $pdf->AddPage(); + } + $pdf->SetFont('', 'B', 10); + $pdf->Cell(0, 15, $unit['label'], 0, 2, 'L', false); + $pdf->SetY($pdf->GetY() + 2); + $pdf->SetFont('', '', 10); + foreach ($historyList as $keyHistory => $history) { + $date = new \DateTime($history['event_date']); + $date = $date->format('d/m/Y H:i:s'); + $label = $date . " - " . UserModel::getLabelledUserById(['id' => $history['user_id']]) . "\n" . $history['info']; + $pdf->MultiCell(0, 40, $label, 1, 'L', false); + } + } } } } diff --git a/src/frontend/app/list/summarySheet/summary-sheet.component.ts b/src/frontend/app/list/summarySheet/summary-sheet.component.ts index be19f6dc1c3..ef79599c333 100644 --- a/src/frontend/app/list/summarySheet/summary-sheet.component.ts +++ b/src/frontend/app/list/summarySheet/summary-sheet.component.ts @@ -127,6 +127,14 @@ export class SummarySheetComponent implements OnInit { css: 'col-md-4 text-center', desc: [], enabled: true + }, + { + id: 'workflowHistory', + unit: 'workflowHistory', + label: this.translate.instant('lang.history'), + css: 'col-md-4 text-center', + desc: [], + enabled: true } ]; -- GitLab