Skip to content
Snippets Groups Projects
Commit be0694e4 authored by Arthur Suzuki's avatar Arthur Suzuki
Browse files

Merge branch...

Merge branch 'dev#163422_affichage_des_options_dans_l_ordre_de_selection_des_facettes_pour_la_recherche' into 'master'

dev#163422 : options for domains selector in search are sorted the way it was...

See merge request !4593
parents 3e9e738b 551cd1bd
Branches
Tags
1 merge request!4593dev#163422 : options for domains selector in search are sorted the way it was...
Pipeline #19132 passed with stage
in 18 minutes and 59 seconds
'163422' =>
['Label' => $this->_('Boite Recherche : Affichage des options dans l'ordre de selection des facettes pour la recherche'),
'Desc' => 'Les options proposées suivent dorénavant l\'ordonnancement tel qu\'il a été défini côté Administration dans l\écran de conception des facettes de domaines. Auparavant les options étaient affichées dans l'ordre alphabétique.',
'Image' => '',
'Video' => '',
'Category' => '',
'Right' => function($feature_description, $user) {return true;},
'Wiki' => '',
'Test' => '',
'Date' => '2022-09-23'],
\ No newline at end of file
- fonctionnalité #163422 : Boite Recherche : Les options dans les selecteurs pour les facettes de domaines sont dorénavant affichées dans l'ordre de selection côté administration et non dans l'ordre alphabétique.
\ No newline at end of file
......@@ -353,17 +353,19 @@ abstract class IntonationSearchRenderAbstract {
protected function _createDomainSelectorByFacetCode(ZendAfi_Form $form, string $facet_code) : ?Zend_Form_Element {
$facet_thesaurus_id = substr($facet_code, 1);
if ((!$facets = Class_CodifThesaurus::findAllBy([Class_CodifThesaurus::clauseStart('id_thesaurus', $facet_thesaurus_id),
Class_CodifThesaurus::clauseNotIs('id_origine'),
'code' => Class_CodifThesaurusFixed::CODE_DOMAIN_FACET,
'order' => 'libelle_facette'])))
return null;
$parent_facet = Class_CodifThesaurus::findFirstBy(['id_thesaurus' => $facet_thesaurus_id]);
if ((!$domain_ids = $parent_facet->getRuleListDomainId()))
return null;
$options = ['' => $parent_facet->getLibelleFacette()];
foreach ($facets as $facet)
foreach($domain_ids as $domain_id) {
$domain = Class_Catalogue::find($domain_id);
if(!$facet = Class_CodifThesaurus::findFirstBy(['libelle_facette' => $domain->getLibelle(),
Class_CodifThesaurus::clauseNotIs('id_origine'),
'code' => Class_CodifThesaurusFixed::CODE_DOMAIN_FACET]))
continue;
$options[Class_CodifThesaurus::CODE_FACETTE . $facet->getIdThesaurus()] = $facet->getLibelleFacette();
}
return $form->createElement('select',
'custom_multifacets_' . $facet_code,
......
......@@ -118,7 +118,7 @@ class DynamicFacetOnDomainsFixture {
'id_thesaurus' => 'SUPP',
'libelle' => 'Supports',
'libelle_facette' => 'Les supports',
'rule_list_domain_id' => [2, 3, 4]
'rule_list_domain_id' => [3, 2, 4]
]);
return $this;
......
......@@ -123,16 +123,28 @@ class DynamicFacetOnDomainsSearchWidgetWithFacetsTest extends AbstractController
/** @test */
public function formRechercheShouldContainsSelectCustomMultifacetsHSUPPWithOptionsHSUPP0001_HSUPP0002_Supports() {
$this->assertXPath('//div[@id="boite_1"]//select[@name="custom_multifacets_HSUPP"]/option[@value="HSUPP0002"][text()="Numérique"]/following-sibling::option[@value="HSUPP0001"][text()="Papier"]');
$this->assertXPath('//div[@id="boite_1"]//select[@name="custom_multifacets_HSUPP"]/option[@value="HSUPP0001"][text()="Papier"]/following-sibling::option[@value="HSUPP0002"][text()="Numérique"]');
}
/** @test */
public function selectCustomMultifacetsFirstOptionShouldBeLesSupportsWithEmptyValue() {
public function selectCustomMultifacetsSecondOptionShouldBeLesSupportsWithEmptyValue() {
$this->assertXPath('//div[@id="boite_1"]//select[@name="custom_multifacets_HSUPP"]/option[1][@value=0][text()="Les supports"]');
}
/** @test */
public function selectCustomMultifacetsFirstOptionShouldBePapierWithValueHSUPP001() {
$this->assertXPath('//div[@id="boite_1"]//select[@name="custom_multifacets_HSUPP"]/option[2][@value="HSUPP0001"][text()="Papier"]');
}
/** @test */
public function selectCustomMultifacetsSecondOptionShouldBeNumeriqueWithValueHSUPP002() {
$this->assertXPath('//div[@id="boite_1"]//select[@name="custom_multifacets_HSUPP"]/option[3][@value="HSUPP0002"][text()="Numérique"]');
}
/** @test */
public function selectCustomMultifacetsShouldContainsThreeOptions() {
$this->assertXPathCount('//select[@name="custom_multifacets_HSUPP"]/option', 3);
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment