diff --git a/lib/classes/User/Adapter.php b/lib/classes/User/Adapter.php index d252a7dadd..32c0f58fef 100644 --- a/lib/classes/User/Adapter.php +++ b/lib/classes/User/Adapter.php @@ -1320,16 +1320,6 @@ class User_Adapter implements User_Interface, cache_cacheableInterface return $this; } - $sql = 'SELECT prop, value FROM usr_settings WHERE usr_id= :id'; - $stmt = $this->app['phraseanet.appbox']->get_connection()->prepare($sql); - $stmt->execute(array(':id' => $this->id)); - $rs = $stmt->fetchAll(PDO::FETCH_ASSOC); - $stmt->closeCursor(); - - foreach ($rs as $row) { - $this->_prefs[$row['prop']] = $row['value']; - } - foreach (self::$def_values as $k => $v) { if (!isset($this->_prefs[$k])) { if ($k == 'start_page_query' && $this->app['phraseanet.registry']->get('GV_defaultQuery')) { @@ -1351,6 +1341,16 @@ class User_Adapter implements User_Interface, cache_cacheableInterface ); } + $sql = 'SELECT prop, value FROM usr_settings WHERE usr_id= :id'; + $stmt = $this->app['phraseanet.appbox']->get_connection()->prepare($sql); + $stmt->execute(array(':id' => $this->id)); + $rs = $stmt->fetchAll(PDO::FETCH_ASSOC); + $stmt->closeCursor(); + + foreach ($rs as $row) { + $this->_prefs[$row['prop']] = $row['value']; + } + $this->preferences_loaded = true; return $this; diff --git a/tests/classes/userTest.php b/tests/classes/userTest.php index f831111205..d6d7a433e5 100644 --- a/tests/classes/userTest.php +++ b/tests/classes/userTest.php @@ -92,11 +92,14 @@ class userTest extends PhraseanetPHPUnitAbstract ); $user = $this->get_user(); + $user->setPrefs('images_per_page', 35); + + $user = new \User_Adapter($user->get_id(), self::$DI['app']); $this->assertNull($user->getPrefs('lalala')); - $this->assertSame(666, $user->getPrefs('images_size')); - $this->assertSame(42, $user->getPrefs('images_per_page')); - $this->assertSame(\User_Adapter::$def_values['editing_top_box'], $user->getPrefs('editing_top_box')); + $this->assertEquals(666, $user->getPrefs('images_size')); + $this->assertEquals(35, $user->getPrefs('images_per_page')); + $this->assertEquals(\User_Adapter::$def_values['editing_top_box'], $user->getPrefs('editing_top_box')); if (null === $data) { unset(self::$DI['app']['phraseanet.configuration']['user-settings']);