From 4dfed25a7b3c3f74705fd6340ca51e2417bc0b30 Mon Sep 17 00:00:00 2001 From: Guillaume Heurtier <guillaume.heurtier@maarch.org> Date: Wed, 23 Sep 2020 12:07:40 +0200 Subject: [PATCH] FEAT #14006 TIME 2:00 add registered mail data to basket list --- .../controllers/ResourceListController.php | 27 +++++++++++++++++++ .../list/list-administration.component.ts | 18 +++++++++++++ src/lang/lang-en.json | 7 +++-- src/lang/lang-fr.json | 5 +++- 4 files changed, 54 insertions(+), 3 deletions(-) diff --git a/src/app/resource/controllers/ResourceListController.php b/src/app/resource/controllers/ResourceListController.php index 5ad080c3acb..fdad8d0539c 100644 --- a/src/app/resource/controllers/ResourceListController.php +++ b/src/app/resource/controllers/ResourceListController.php @@ -33,6 +33,8 @@ use Folder\models\FolderModel; use Group\models\GroupModel; use Note\models\NoteModel; use Priority\models\PriorityModel; +use RegisteredMail\models\IssuingSiteModel; +use RegisteredMail\models\RegisteredMailModel; use Resource\models\ResModel; use Resource\models\ResourceListModel; use Resource\models\UserFollowedResourceModel; @@ -898,6 +900,11 @@ class ResourceListController if (isset($args['listDisplay'])) { $display = []; + $listDisplayValues = array_column($args['listDisplay'], 'value'); + if (in_array('getRegisteredMailRecipient', $listDisplayValues) || in_array('getRegisteredMailReference', $listDisplayValues) + || in_array('getRegisteredMailIssuingSite', $listDisplayValues)) { + $registeredMail = RegisteredMailModel::getByResId(['resId' => $resource['res_id'], 'select' => ['issuing_site', 'recipient', 'reference']]); + } foreach ($args['listDisplay'] as $value) { $value = (array)$value; if ($value['value'] == 'getPriority') { @@ -942,6 +949,26 @@ class ResourceListController } elseif ($value['value'] == 'getBarcode') { $value['displayValue'] = $resource['barcode']; $display[] = $value; + } elseif ($value['value'] == 'getRegisteredMailRecipient') { + if (!empty($registeredMail)) { + $recipient = json_decode($registeredMail['recipient'], true); + $recipient = $recipient['company'] . ' ' . $recipient['firstname'] . ' ' . $recipient['lastname']; + $value['displayValue'] = $recipient; + } else { + $value['displayValue'] = ''; + } + $display[] = $value; + } elseif ($value['value'] == 'getRegisteredMailReference') { + $value['displayValue'] = !empty($registeredMail) ? $registeredMail['reference'] : ''; + $display[] = $value; + } elseif ($value['value'] == 'getRegisteredMailIssuingSite') { + if (!empty($registeredMail)) { + $site = IssuingSiteModel::getById(['id' => $registeredMail['issuing_site'], 'select' => ['label']]); + $value['displayValue'] = $site['label']; + } else { + $value['displayValue'] = ''; + } + $display[] = $value; } elseif (strpos($value['value'], 'indexingCustomField_') !== false) { $customId = explode('_', $value['value'])[1]; $customValue = json_decode($resource['custom_fields'], true); diff --git a/src/frontend/app/administration/basket/list/list-administration.component.ts b/src/frontend/app/administration/basket/list/list-administration.component.ts index 6a57d354a5b..fe8dffd6b01 100644 --- a/src/frontend/app/administration/basket/list/list-administration.component.ts +++ b/src/frontend/app/administration/basket/list/list-administration.component.ts @@ -141,6 +141,24 @@ export class ListAdministrationComponent implements OnInit { 'sample': this.translate.instant('lang.getBarcodeSample'), 'cssClasses': ['align_leftData'], 'icon': 'fa-barcode' + }, { + 'value': 'getRegisteredMailRecipient', + 'label': this.translate.instant('lang.registeredMailRecipient'), + 'sample': this.translate.instant('lang.registeredMailRecipientSample'), + 'cssClasses': ['align_leftData'], + 'icon': 'fa-user' + }, { + 'value': 'getRegisteredMailReference', + 'label': this.translate.instant('lang.registeredMailReference'), + 'sample': this.translate.instant('lang.registeredMailReferenceSample'), + 'cssClasses': ['align_leftData'], + 'icon': 'fa-hashtag' + }, { + 'value': 'getRegisteredMailIssuingSite', + 'label': this.translate.instant('lang.issuingSite'), + 'sample': this.translate.instant('lang.issuingSiteSample'), + 'cssClasses': ['align_leftData'], + 'icon': 'fas fa-warehouse' } ]; availableDataClone: any = []; diff --git a/src/lang/lang-en.json b/src/lang/lang-en.json index cdcdf967d5e..26a5d5bbb9d 100644 --- a/src/lang/lang-en.json +++ b/src/lang/lang-en.json @@ -2006,7 +2006,10 @@ "searchAdministration" : "Search administration", "searchTemplateAdded": "Search template added", "searchTemplateCreation": "Search template creation", - "addSearchTemplateMsg": "This template will be private. All criterias and values selected will be saved", + "addSearchTemplateMsg": "This template will be private. All criteria and values selected will be saved", "mySearchTemplates": "My templates", - "searchTemplateDeleted": "Search template deleted" + "searchTemplateDeleted": "Search template deleted", + "issuingSiteSample": "MAARCH - Nanterre", + "registeredMailReferenceSample": "01/01/2020 - My reference", + "registeredMailRecipientSample": "MAARCH-LES-BAINS PATRICIA PETIT" } diff --git a/src/lang/lang-fr.json b/src/lang/lang-fr.json index ae4364e21e5..3a41056c044 100644 --- a/src/lang/lang-fr.json +++ b/src/lang/lang-fr.json @@ -2011,5 +2011,8 @@ "mySearchTemplates": "Mes modèles", "searchTemplateDeleted": "Modèle de recherche supprimé", "searchAdministration" : "Administration recherche", - "contactInput" : "Champ contact" + "contactInput" : "Champ contact", + "issuingSiteSample": "MAARCH - Nanterre", + "registeredMailReferenceSample": "01/01/2020 - Ma référence", + "registeredMailRecipientSample": "MAARCH-LES-BAINS PATRICIA PETIT" } -- GitLab