From 4a00013b48f10c19cf9eae6c8fd3ccc8a6eb6356 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?ANDRE=20s=C3=A9bastien?= <sandre@afi-sa.fr> Date: Fri, 23 Jun 2023 09:42:17 +0000 Subject: [PATCH] hotline : facet dynamic find without code --- VERSIONS_HOTLINE/180690 | 1 + library/ZendAfi/Form/Element/SelectDynamicFacet.php | 10 +++++----- tests/scenarios/AdvancedSearch/AdvancedSearchTest.php | 10 +++++----- 3 files changed, 11 insertions(+), 10 deletions(-) create mode 100644 VERSIONS_HOTLINE/180690 diff --git a/VERSIONS_HOTLINE/180690 b/VERSIONS_HOTLINE/180690 new file mode 100644 index 00000000000..02c4a419a8e --- /dev/null +++ b/VERSIONS_HOTLINE/180690 @@ -0,0 +1 @@ + - correctif #180690 : Recherche avancée : Les formulaires personnalisés récupèrent maintenant correctement les libellés des facettes dynamiques diff --git a/library/ZendAfi/Form/Element/SelectDynamicFacet.php b/library/ZendAfi/Form/Element/SelectDynamicFacet.php index ef7dcd11eb5..384c06d0f1e 100644 --- a/library/ZendAfi/Form/Element/SelectDynamicFacet.php +++ b/library/ZendAfi/Form/Element/SelectDynamicFacet.php @@ -21,22 +21,22 @@ class ZendAfi_Form_Element_SelectDynamicFacet extends Zend_Form_Element_Select { + public function init() { - if (!$thesaurus = Class_CodifThesaurus::findFirstBy(['rules not' => null, - 'code' => $this->_getCodeThesaurus(), - 'id_thesaurus not' => null])) + if ( ! $thesaurus = Class_CodifThesaurus::findFirstBy(['rules not' => null, + 'id_thesaurus' => $this->_getIdThesaurus()])) return; $this->setMultiOptions($this->_buildThesaurusChildrenEntries($thesaurus)); } - protected function _getCodeThesaurus() { + protected function _getIdThesaurus() : string { return str_replace('rech_' . Class_CodifThesaurus::CODE_FACETTE, '', $this->getName()); } - protected function _buildThesaurusChildrenEntries($thesaurus) { + protected function _buildThesaurusChildrenEntries(Class_CodifThesaurus $thesaurus) : array { $options = ['' => '']; foreach (Class_CodifThesaurus::findChildrenOfWith($thesaurus->getIdThesaurus(), diff --git a/tests/scenarios/AdvancedSearch/AdvancedSearchTest.php b/tests/scenarios/AdvancedSearch/AdvancedSearchTest.php index ea10b1dc2f1..fe5609d60d7 100644 --- a/tests/scenarios/AdvancedSearch/AdvancedSearchTest.php +++ b/tests/scenarios/AdvancedSearch/AdvancedSearchTest.php @@ -402,7 +402,7 @@ class AdvancedSearchFormWithDateSelectorsTest extends AdvancedSearchCustomFormSe 'libelle' => 'Année de publication', 'id_thesaurus' => 'APUB', 'id_origine' => null, - 'code' => 'APUB', + 'code' => 'UNIMARC', 'rule_list_zone' => ['995'], 'rule_list_label_field' => ['w'], 'rule_list_label_start_pos' => [1], @@ -415,7 +415,7 @@ class AdvancedSearchFormWithDateSelectorsTest extends AdvancedSearchCustomFormSe 'libelle' => 'Mois de publication', 'id_thesaurus' => 'MPUB', 'id_origine' => null, - 'code' => 'MPUB', + 'code' => 'UNIMARC', 'rule_list_zone' => ['995'], 'rule_list_label_field' => ['w'], 'rule_list_label_start_pos' => [6], @@ -427,7 +427,7 @@ class AdvancedSearchFormWithDateSelectorsTest extends AdvancedSearchCustomFormSe 'libelle' => 'Jour de publication', 'id_thesaurus' => 'JPUB', 'id_origine' => null, - 'code' => 'JPUB', + 'code' => 'UNIMARC', 'rule_list_zone' => ['995'], 'rule_list_label_field' => ['w'], 'rule_list_label_start_pos' => [9], @@ -439,7 +439,7 @@ class AdvancedSearchFormWithDateSelectorsTest extends AdvancedSearchCustomFormSe 'libelle' => '3', 'id_thesaurus' => 'JPUB0003', 'id_origine' => null, - 'code' => 'JPUB', + 'code' => 'UNIMARC', ]); $this->fixture(Class_CodifThesaurus::class, @@ -447,7 +447,7 @@ class AdvancedSearchFormWithDateSelectorsTest extends AdvancedSearchCustomFormSe 'libelle' => '1', 'id_thesaurus' => 'JPUB0001', 'id_origine' => null, - 'code' => 'JPUB', + 'code' => 'UNIMARC', ]); -- GitLab