From c777878869fdde09d08a32c60bb0a9016e0dffca Mon Sep 17 00:00:00 2001 From: Laurent Laffont <llaffont@afi-sa.fr> Date: Mon, 29 Oct 2018 11:03:02 +0100 Subject: [PATCH] dev #80538 back link on search result activate originated form --- library/Class/CriteresRecherche.php | 1 + library/ZendAfi/View/Helper/AdvancedSearch.php | 10 ++++++---- tests/library/Class/CriteresRechercheTest.php | 2 ++ .../AdvancedSearch/AdvancedSearchTest.php | 14 +++++++++++++- 4 files changed, 22 insertions(+), 5 deletions(-) diff --git a/library/Class/CriteresRecherche.php b/library/Class/CriteresRecherche.php index 6005e19285b..5525893a8ef 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 72b02f8422e..f75765a4884 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 3d09acf0a2c..5fb75af5c01 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 65ff48fb005..80463ec061e 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")]'); + } } -- GitLab