diff --git a/library/Class/CriteresRecherche.php b/library/Class/CriteresRecherche.php index 6005e19285bd216aad980be17d858a8c8d2feff4..5525893a8ef68924a7d5c4bd0d33e69f6d59a64f 100644 --- a/library/Class/CriteresRecherche.php +++ b/library/Class/CriteresRecherche.php @@ -67,6 +67,7 @@ class Class_CriteresRecherche { 'operateur_editeur'=>'', 'operateur_collection'=>'', 'section' => '', + 'form_id' => '', 'page' => 1, 'page_size' => '', 'genre' => '', diff --git a/library/ZendAfi/View/Helper/AdvancedSearch.php b/library/ZendAfi/View/Helper/AdvancedSearch.php index 72b02f8422e38127b6c02c7f2147b5e4aec11436..f75765a488448ab13fe7fcc952b53c4c48de1b03 100644 --- a/library/ZendAfi/View/Helper/AdvancedSearch.php +++ b/library/ZendAfi/View/Helper/AdvancedSearch.php @@ -109,8 +109,9 @@ class ZendAfi_View_Helper_AdvancedSearch extends ZendAfi_View_Helper_BaseHelper if(!$form_wrapper->isFormVisible()) $html = $this->_tag('p', $this->_('Ce formulaire n\'est pas visible.'), ['class' => 'error']) . $html; - $html .= $this->view->renderForm($this->_populateForm($form_wrapper->getForm()), - ['append' => [$this->_clearFormButton(count($content))]]); + $form_id = count($content); + $html .= $this->view->renderForm($this->_populateForm($form_wrapper->getForm(), $form_id), + ['append' => [$this->_clearFormButton($form_id)]]); $content[] = $html; return $content; @@ -122,11 +123,12 @@ class ZendAfi_View_Helper_AdvancedSearch extends ZendAfi_View_Helper_BaseHelper } - protected function _populateForm($form) { + protected function _populateForm($form, $form_id) { $request = Zend_Controller_Front::getInstance()->getRequest(); $form->populate($request->getParams()); $form->setAction($this->view->url(['controller' => 'recherche', - 'action' => 'simple'], + 'action' => 'simple', + 'form_id' => $form_id], null, true)); return $form; } diff --git a/tests/library/Class/CriteresRechercheTest.php b/tests/library/Class/CriteresRechercheTest.php index 3d09acf0a2cb62785fa85f8bd1a021a7db72304d..5fb75af5c018bc01a7f9dd1742c6e675a3c2b32d 100644 --- a/tests/library/Class/CriteresRechercheTest.php +++ b/tests/library/Class/CriteresRechercheTest.php @@ -58,11 +58,13 @@ class CriteresRechercheRetourTest extends ModelTestCase { 'page_size' => 10]], [['expressionRecherche' => 'La nouvelle grille', + 'form_id' => 2, 'facettes' => 'B1', 'facette' => 'T1'], ['controller' => 'recherche', 'action' => 'simple', + 'form_id' => 2, 'expressionRecherche' => 'La nouvelle grille', 'facettes' => 'B1-T1']], diff --git a/tests/scenarios/AdvancedSearch/AdvancedSearchTest.php b/tests/scenarios/AdvancedSearch/AdvancedSearchTest.php index 65ff48fb0055be3239ad9ba891acd9d60491c09a..80463ec061eae7dd9b08ad118bb348e0cdc256da 100644 --- a/tests/scenarios/AdvancedSearch/AdvancedSearchTest.php +++ b/tests/scenarios/AdvancedSearch/AdvancedSearchTest.php @@ -569,9 +569,21 @@ class AdvancedSearchValidCustomFormsSelectedAndPublishedTest extends AdvancedSea /** @test */ - public function formShouldContainsResetButton() { + public function formOnSecondTabShouldContainsResetButtonWithFormIdOne() { $this->assertXPathContentContains('//button[contains(@data-url,"/recherche/avancee/statut/reset/form_id/1")]', 'Réinitialiser'); } + + + /** @test */ + public function formOnFirstTabActionShouldBeRechercheSimpleFormIdZero() { + $this->assertXPath('//form[contains(@action, "/recherche/simple/form_id/0")]'); + } + + + /** @test */ + public function formOnSecondTabActionShouldBeRechercheSimpleFormIdOne() { + $this->assertXPath('//form[contains(@action, "/recherche/simple/form_id/1")]'); + } }