diff --git a/VERSIONS_HOTLINE/180690 b/VERSIONS_HOTLINE/180690 new file mode 100644 index 0000000000000000000000000000000000000000..02c4a419a8efc20b9b953d4a92bc0725df26263a --- /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 ef7dcd11eb5556811a2696cd5cba408333d7df39..384c06d0f1e47ec89fbdf75b9df22469e62860ea 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 ea10b1dc2f1e8020455c09235ed79d5fca502aea..fe5609d60d7452640502e8de59454e2b3f219185 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', ]);