diff --git a/library/Class/Profil.php b/library/Class/Profil.php index b1780799f1d067404421ea57085663c87a41e36b..b39e33a4abe96707b7be2b7c22307e8939aded2c 100644 --- a/library/Class/Profil.php +++ b/library/Class/Profil.php @@ -564,7 +564,6 @@ class Class_Profil extends Storm_Model_Abstract { : ['type_module' => $type_module, 'preferences' => Class_Systeme_ModulesAccueil::getInstance()->getValeursParDefaut($type_module)]; - if ($this->isModulePreferencesSharedBetweenProfils($module, $type_module)) return $this->getModuleAccueilConfigByType($type_module, self::DIV_BANNIERE); diff --git a/library/ZendAfi/Form/Configuration/FormationsWidget.php b/library/ZendAfi/Form/Configuration/FormationsWidget.php index cf5950347b4f51719a36c7bbd261dccfa9cef7d5..d28c0d01e513534195a377f2eb718a577c164654 100644 --- a/library/ZendAfi/Form/Configuration/FormationsWidget.php +++ b/library/ZendAfi/Form/Configuration/FormationsWidget.php @@ -23,9 +23,12 @@ class ZendAfi_Form_Configuration_FormationsWidget extends ZendAfi_Form { public static function newWith($module_settings = [], $custom_form = null) { $form = new self(); + + $selected_formations = array_key_exists('selected_formations', $module_settings) ? $module_settings['selected_formations'] : ''; + $form ->populate($module_settings) - ->addToWith('formations_selector', $module_settings['selected_formations']) + ->addToWith('formations_selector', $selected_formations) ->addDisplayGroup(['titre', 'boite'], 'Base', diff --git a/tests/application/modules/admin/controllers/AccueilControllerFormationsTest.php b/tests/application/modules/admin/controllers/AccueilControllerFormationsTest.php index 5352c37be5542036ed1cf1503862ffb3c3ba3dd5..e95931f167eeafea35e53dca4f76117293eeb1ad 100644 --- a/tests/application/modules/admin/controllers/AccueilControllerFormationsTest.php +++ b/tests/application/modules/admin/controllers/AccueilControllerFormationsTest.php @@ -16,23 +16,18 @@ * * You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE * along with BOKEH; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ -class Admin_AccueilControllerFormationsTestWithDefaultSettings extends Admin_AbstractControllerTestCase { +class Admin_AccueilControllerFormationsTestWithDefaultSettings extends Admin_AbstractControllerTestCase { public function setUp() { parent::setUp(); - - $this->fixture('Class_Profil', + + $this->fixture('Class_Profil', ['id' => 1, - 'libelle' => 'Afibre']) - ->updateModuleConfigAccueil(1, ['type_module' => 'FORMATIONS_WIDGET', - 'division' => 1, - 'id_module' => 1, - 'preferences' => ['selected_formations' => '']]) - ->beCurrentProfil(); + 'libelle' => 'Afibre'])->beCurrentProfil(); $this->dispatch('admin/accueil/formations-widget?config=accueil&id_profil=1&id_module=1&type_module=FORMATIONS_WIDGET', true); } @@ -43,10 +38,10 @@ class Admin_AccueilControllerFormationsTestWithDefaultSettings extends Admin_Abs $this->assertXPathContentContains('//select/option', 'Boite par défaut de la division'); } - + /** @test */ public function treeselectFormationsBeDisplay() { - $this->assertXPath('//div[@class="treeselect"]', $this->_response->getBody()); + $this->assertXPath('//div[@class="treeselect"]'); } /** @test **/ @@ -58,12 +53,12 @@ class Admin_AccueilControllerFormationsTestWithDefaultSettings extends Admin_Abs -class Admin_AccueilControllerFormationsPostTest extends Admin_AbstractControllerTestCase { +class Admin_AccueilControllerFormationsPostTest extends Admin_AbstractControllerTestCase { public function setUp() { parent::setUp(); - - $this->fixture('Class_Profil', + + $this->fixture('Class_Profil', ['id' => 1, 'libelle' => 'Afibre']) ->updateModuleConfigAccueil(1, ['type_module' => 'FORMATIONS_WIDGET', @@ -71,15 +66,15 @@ class Admin_AccueilControllerFormationsPostTest extends Admin_AbstractController 'id_module' => 1]) ->beCurrentProfil(); - $this->postDispatch('admin/accueil/formations-widget?config=accueil&id_profil=1&id_module=1&type_module=FORMATIONS_WIDGET', + $this->postDispatch('admin/accueil/formations-widget?config=accueil&id_profil=1&id_module=1&type_module=FORMATIONS_WIDGET', ['selected_formations' => '1;2']); } - + /** @test */ public function formations1And2ShouldHaveBeenSaved() { $this->assertEquals( - '1;2', + '1;2', Class_Profil::getCurrentProfil() ->getModuleAccueilConfig(1, 'FORMATIONS_WIDGET')['preferences']['selected_formations']); }