diff --git a/VERSIONS_STABLE/13566 b/VERSIONS_STABLE/13566 new file mode 100644 index 0000000000000000000000000000000000000000..52dcef375000c46b4835bf08bc2cdfc96d75a5c8 --- /dev/null +++ b/VERSIONS_STABLE/13566 @@ -0,0 +1 @@ +* ticket #13566 : Par defaut le nombre de critiques affichées sur une page est 50. \ No newline at end of file diff --git a/application/modules/opac/controllers/BlogController.php b/application/modules/opac/controllers/BlogController.php index 27a13c20daf03d821d4b14b73850af8189b80e21..326588888d6cd1cd6bb3cdf7bee1b15b190fba2e 100644 --- a/application/modules/opac/controllers/BlogController.php +++ b/application/modules/opac/controllers/BlogController.php @@ -90,6 +90,13 @@ class BlogController extends ZendAfi_Controller_Action { } + protected function updateBlogConfigDefault() { + if (!$this->view->config['nb_display'] || $this->view->config['nb_display']<1) { + $this->view->config['nb_display']=(new Class_Systeme_ModulesAppli())->getValeursParDefaut('blog', 'viewcritiques')['nb_display']; + } + } + + public function viewcritiquesAction() { $this->view->page = $this->_getParam('page',1); $id_module = (int)$this->_getParam('id_module'); @@ -97,7 +104,7 @@ class BlogController extends ZendAfi_Controller_Action { $preferences = $profil ->getModuleAccueilPreferences($id_module, 'CRITIQUES'); $this->view->config=$profil->getConfigurationOf('blog','viewcritiques',''); - + $this->updateBlogConfigDefault(); $avis = Class_AvisNotice::getAvisFromPreferences($preferences,[$this->view->page, $this->view->config['nb_display']]); $this->view->liste_avis = $avis; diff --git a/library/Class/Profil.php b/library/Class/Profil.php index 07f33b61a645f18c1a790ef977613510527ff0a0..d17d3d3c983058f19c5982b35d0e67f84422a184 100644 --- a/library/Class/Profil.php +++ b/library/Class/Profil.php @@ -1935,7 +1935,7 @@ class Class_Profil extends Storm_Model_Abstract { return isset($cfg[$module]) ? (isset($cfg[$module][$action.$action2]) - ? $cfg[$module][$action.$action2] + ? array_merge($default_cfg,$cfg[$module][$action.$action2]) : $default_cfg) : $default_cfg; } diff --git a/tests/application/modules/opac/controllers/AbonneControllerAvisTest.php b/tests/application/modules/opac/controllers/AbonneControllerAvisTest.php index 1f2339cfd2f41140f962391cfd953732393c86f2..b678eae6443f6a10e55afc965d81ee337b751a38 100644 --- a/tests/application/modules/opac/controllers/AbonneControllerAvisTest.php +++ b/tests/application/modules/opac/controllers/AbonneControllerAvisTest.php @@ -631,6 +631,31 @@ abstract class ModuleSelectionCritiquesTestCase extends AvisControllersFixturesT } +class AbonneControllerAvisBlogControllerViewCritiquesDefaultTest extends ModuleSelectionCritiquesTestCase { + + public function setUp() { + parent::setUp(); + $profil = Class_Profil::getLoader() + ->find(2) + ->setCfgModules( ['blog' => ['viewcritiques' => ['barre_nav' => 'Critics']]]); + $profil + ->save(); + + $this->dispatch('/opac/blog/viewcritiques/id_profil/2/id_module/3'); + } + + + /** @test */ + public function defaultViewCriticsSetTo50() { + $this->assertEquals(50,Class_Profil::find(2)->getConfigurationOf('blog', 'viewcritiques','' )['nb_display']); + } + + + /** @test */ + public function setBarreNavCriticsKeep() { + $this->assertEquals('Critics' ,Class_Profil::find(2)->getConfigurationOf('blog', 'viewcritiques','' )['barre_nav']); + } +} class AbonneControllerAvisBlogControllerViewCritiquesTest extends ModuleSelectionCritiquesTestCase {