From 2f66e24ee10c61ca9d5b632997b91dfd29a28f14 Mon Sep 17 00:00:00 2001
From: Ghislain Loas <ghislo@sandbox.pergame.net>
Date: Wed, 11 Feb 2015 17:19:32 +0100
Subject: [PATCH] hotline #20093 fix fatal errors

---
 library/Class/Profil.php                      |  1 -
 .../Form/Configuration/FormationsWidget.php   |  5 ++-
 .../AccueilControllerFormationsTest.php       | 31 ++++++++-----------
 3 files changed, 17 insertions(+), 20 deletions(-)

diff --git a/library/Class/Profil.php b/library/Class/Profil.php
index b1780799f1d..b39e33a4abe 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 cf5950347b4..d28c0d01e51 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 5352c37be55..e95931f167e 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']);
 	}
-- 
GitLab