diff --git a/config/packages/admin_lte.yaml b/config/packages/admin_lte.yaml index 6d08d81d..09c6f843 100644 --- a/config/packages/admin_lte.yaml +++ b/config/packages/admin_lte.yaml @@ -10,15 +10,15 @@ admin_lte: # default image for missing user avatar images default_avatar: build/images/default_avatar.png # the color skin - skin: skin-blue + skin: skin-green # if activated, the boxed_layout will be deactivated - fixed_layout: false + fixed_layout: true # boxed layout (true) or full-screen (false) boxed_layout: false # initial collapsed state of the sidebar collapsed_sidebar: false # whether the logo collapses or not - mini_sidebar: false + mini_sidebar: true # tabs in the control_sidebar (right screen) can be configured, see: # https://github.com/kevinpapst/AdminLTEBundle/blob/master/Resources/docs/control_sidebar.md control_sidebar: diff --git a/src/EventSubscriber/ThemeOptionsSubscriber.php b/src/EventSubscriber/ThemeOptionsSubscriber.php index ff2f4574..4e22bfd2 100644 --- a/src/EventSubscriber/ThemeOptionsSubscriber.php +++ b/src/EventSubscriber/ThemeOptionsSubscriber.php @@ -66,13 +66,16 @@ class ThemeOptionsSubscriber implements EventSubscriberInterface $skin = ''; foreach ($user->getPreferences() as $ref) { - $name = $ref->getName(); - if (UserPreference::SKIN === $name) { - $skin = 'skin-' . $ref->getValue(); - } - if (false !== strpos($name, 'theme.')) { - $this->helper->setOption(str_replace('theme.', '', $name), $ref->getValue()); + $name = $ref->getName(); + switch ($name) { + case UserPreference::SKIN: + $skin = 'skin-' . $ref->getValue(); + break; + + case 'theme.collapsed_sidebar': + $this->helper->setOption('collapsed_sidebar', $ref->getValue()); + break; } } diff --git a/src/EventSubscriber/UserPreferenceSubscriber.php b/src/EventSubscriber/UserPreferenceSubscriber.php index 6c04c342..49c2e441 100644 --- a/src/EventSubscriber/UserPreferenceSubscriber.php +++ b/src/EventSubscriber/UserPreferenceSubscriber.php @@ -100,26 +100,11 @@ class UserPreferenceSubscriber implements EventSubscriberInterface ->setValue('green') ->setType(SkinType::class), - (new UserPreference()) - ->setName('theme.fixed_layout') - ->setValue(true) - ->setType(CheckboxType::class), - - (new UserPreference()) - ->setName('theme.boxed_layout') - ->setValue(false) - ->setType(CheckboxType::class), - (new UserPreference()) ->setName('theme.collapsed_sidebar') ->setValue(false) ->setType(CheckboxType::class), - (new UserPreference()) - ->setName('theme.mini_sidebar') - ->setValue(true) - ->setType(CheckboxType::class), - (new UserPreference()) ->setName('calendar.initial_view') ->setValue(CalendarViewType::DEFAULT_VIEW) diff --git a/src/Migrations/Version20190219200020.php b/src/Migrations/Version20190219200020.php new file mode 100644 index 00000000..8724561f --- /dev/null +++ b/src/Migrations/Version20190219200020.php @@ -0,0 +1,40 @@ +getPlatform(); + + if (!in_array($platform, ['sqlite', 'mysql'])) { + $this->abortIf(true, 'Unsupported database platform: ' . $platform); + } + + $userPrefs = $this->getTableName('user_preferences'); + + $this->addSql('DELETE FROM ' . $userPrefs. ' WHERE name = "theme.fixed_layout"'); + $this->addSql('DELETE FROM ' . $userPrefs. ' WHERE name = "theme.boxed_layout"'); + $this->addSql('DELETE FROM ' . $userPrefs. ' WHERE name = "theme.mini_sidebar"'); + } + + public function down(Schema $schema): void + { + } +} diff --git a/tests/Controller/ProfileControllerTest.php b/tests/Controller/ProfileControllerTest.php index 8927b462..ea28d9f3 100644 --- a/tests/Controller/ProfileControllerTest.php +++ b/tests/Controller/ProfileControllerTest.php @@ -245,10 +245,7 @@ class ProfileControllerTest extends ControllerBaseTest $this->assertEquals($hourlyRateOriginal, $user->getPreferenceValue(UserPreference::HOURLY_RATE)); $this->assertEquals('green', $user->getPreferenceValue(UserPreference::SKIN)); - $this->assertEquals(true, $user->getPreferenceValue('theme.fixed_layout')); - $this->assertEquals(false, $user->getPreferenceValue('theme.boxed_layout')); $this->assertEquals(false, $user->getPreferenceValue('theme.collapsed_sidebar')); - $this->assertEquals(true, $user->getPreferenceValue('theme.mini_sidebar')); $this->assertEquals('month', $user->getPreferenceValue('calendar.initial_view')); $form = $client->getCrawler()->filter('form[name=user_preferences_form]')->form(); @@ -259,10 +256,7 @@ class ProfileControllerTest extends ControllerBaseTest ['name' => 'timezone', 'value' => 'America/Creston'], ['name' => 'language', 'value' => 'ar'], ['name' => UserPreference::SKIN, 'value' => 'blue'], - ['name' => 'theme.fixed_layout', 'value' => false], - ['name' => 'theme.boxed_layout', 'value' => true], ['name' => 'theme.collapsed_sidebar', 'value' => true], - ['name' => 'theme.mini_sidebar', 'value' => false], ['name' => 'calendar.initial_view', 'value' => 'agendaDay'], ] ] @@ -283,10 +277,7 @@ class ProfileControllerTest extends ControllerBaseTest $this->assertEquals('', $user->getPreferenceValue('America/Creston')); $this->assertEquals('ar', $user->getPreferenceValue('language')); $this->assertEquals('blue', $user->getPreferenceValue(UserPreference::SKIN)); - $this->assertEquals(false, $user->getPreferenceValue('theme.fixed_layout')); - $this->assertEquals(true, $user->getPreferenceValue('theme.boxed_layout')); $this->assertEquals(true, $user->getPreferenceValue('theme.collapsed_sidebar')); - $this->assertEquals(false, $user->getPreferenceValue('theme.mini_sidebar')); $this->assertEquals('agendaDay', $user->getPreferenceValue('calendar.initial_view')); } } diff --git a/translations/messages.ar.xliff b/translations/messages.ar.xliff index bf390afb..b97e7f79 100755 --- a/translations/messages.ar.xliff +++ b/translations/messages.ar.xliff @@ -367,22 +367,10 @@ profile.preferences تفضيلات - - label.theme.fixed_layout - تنشيط التنسيق الثابت. لا يمكنك استخدام التخطيطات الثابتة والمعبأة معًا. - - - label.theme.boxed_layout - تنشيط التنسيق المضمن (أجمل للشاشات الكبيرة) - label.theme.collapsed_sidebar تبديل حالة صفحة الشريط الجانبي الأيسر في صفحة (فتح أو طي) - - label.theme.mini_sidebar - تبديل حجم رأس الشريط الجانبي الأيسر (ممتلئ أو طي) -