simplified theme settings and standard layout (#586)

This commit is contained in:
Kevin Papst
2019-02-23 13:51:44 +01:00
committed by GitHub
parent 32fbebd469
commit 36a158a805
14 changed files with 54 additions and 143 deletions

View File

@@ -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:

View File

@@ -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;
}
}

View File

@@ -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)

View File

@@ -0,0 +1,40 @@
<?php
declare(strict_types=1);
/*
* This file is part of the Kimai time-tracking app.
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace DoctrineMigrations;
use App\Doctrine\AbstractMigration;
use Doctrine\DBAL\Schema\Schema;
/**
* Cleanup the user_preferences table from old configs.
*/
final class Version20190219200020 extends AbstractMigration
{
public function up(Schema $schema): void
{
$platform = $this->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
{
}
}

View File

@@ -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'));
}
}

View File

@@ -367,22 +367,10 @@
<source>profile.preferences</source>
<target>تفضيلات</target>
</trans-unit>
<trans-unit id="label.theme.fixed_layout">
<source>label.theme.fixed_layout</source>
<target>تنشيط التنسيق الثابت. لا يمكنك استخدام التخطيطات الثابتة والمعبأة معًا.</target>
</trans-unit>
<trans-unit id="label.theme.boxed_layout">
<source>label.theme.boxed_layout</source>
<target>تنشيط التنسيق المضمن (أجمل للشاشات الكبيرة)</target>
</trans-unit>
<trans-unit id="label.theme.collapsed_sidebar">
<source>label.theme.collapsed_sidebar</source>
<target>تبديل حالة صفحة الشريط الجانبي الأيسر في صفحة (فتح أو طي)</target>
</trans-unit>
<trans-unit id="label.theme.mini_sidebar">
<source>label.theme.mini_sidebar</source>
<target>تبديل حجم رأس الشريط الجانبي الأيسر (ممتلئ أو طي)</target>
</trans-unit>
<!--
Help - Manual

View File

@@ -375,21 +375,9 @@
<source>profile.preferences</source>
<target>Einstellungen</target>
</trans-unit>
<trans-unit id="label.theme.fixed_layout">
<source>label.theme.fixed_layout</source>
<target>Aktiviert das "statische Layout" (linke Navigationsleiste und Header bleiben beim Scrollen an ihrer Stelle)</target>
</trans-unit>
<trans-unit id="label.theme.boxed_layout">
<source>label.theme.boxed_layout</source>
<target>Aktiviert das "Boxlayout" (gut für große Bildschirme, lässt sich aber nicht mit dem "statischen Layout" gemeinsam verwenden)</target>
</trans-unit>
<trans-unit id="label.theme.collapsed_sidebar">
<source>label.theme.collapsed_sidebar</source>
<target>Steuert den Status der linken Navigationsleiste (zugeklappt oder geöffnet)</target>
</trans-unit>
<trans-unit id="label.theme.mini_sidebar">
<source>label.theme.mini_sidebar</source>
<target>Aktiviert die minimierte Version der linken Navigationsleiste</target>
<target>Minimiert die linke Navigationsleiste</target>
</trans-unit>
<trans-unit id="label.calendar.initial_view">
<source>label.calendar.initial_view</source>

View File

@@ -375,21 +375,9 @@
<source>profile.preferences</source>
<target>Preferences</target>
</trans-unit>
<trans-unit id="label.theme.fixed_layout">
<source>label.theme.fixed_layout</source>
<target>Activate the fixed layout. You can't use fixed and boxed layouts together.</target>
</trans-unit>
<trans-unit id="label.theme.boxed_layout">
<source>label.theme.boxed_layout</source>
<target>Activate the boxed layout (nicer on large screens)</target>
</trans-unit>
<trans-unit id="label.theme.collapsed_sidebar">
<source>label.theme.collapsed_sidebar</source>
<target>Toggle the left sidebar's state on page load (open or collapse)</target>
</trans-unit>
<trans-unit id="label.theme.mini_sidebar">
<source>label.theme.mini_sidebar</source>
<target>Toggle the size of the left sidebar's header (full or collapse)</target>
<target>Minimize the left sidebar</target>
</trans-unit>
<trans-unit id="label.calendar.initial_view">
<source>label.calendar.initial_view</source>

View File

@@ -371,22 +371,10 @@
<source>profile.preferences</source>
<target>Preferencias</target>
</trans-unit>
<trans-unit id="label.theme.fixed_layout">
<source>label.theme.fixed_layout</source>
<target>Activar vista fija. No se pueden utilizar ambas juntas.</target>
</trans-unit>
<trans-unit id="label.theme.boxed_layout">
<source>label.theme.boxed_layout</source>
<target>Activar la vista de recuadro (mejor en pantallas grandes)</target>
</trans-unit>
<trans-unit id="label.theme.collapsed_sidebar">
<source>label.theme.collapsed_sidebar</source>
<target>Alternar la vista de la barra lateral izquierda al cargar la página (abrierta o colapsar)</target>
</trans-unit>
<trans-unit id="label.theme.mini_sidebar">
<source>label.theme.mini_sidebar</source>
<target>Alternar el tamaño de la barra lateral izquierda (completa o sin encabezado)</target>
</trans-unit>
<!--
Help - Manual

View File

@@ -371,22 +371,10 @@
<source>profile.preferences</source>
<target>Préférences</target>
</trans-unit>
<trans-unit id="label.theme.fixed_layout">
<source>label.theme.fixed_layout</source>
<target>Activer la mise en page fixe. Les boîtes flexibles seront inactives.</target>
</trans-unit>
<trans-unit id="label.theme.boxed_layout">
<source>label.theme.boxed_layout</source>
<target>Activer la mise en page en boîtes flexibles (plus agréable sur les grands écrans)</target>
</trans-unit>
<trans-unit id="label.theme.collapsed_sidebar">
<source>label.theme.collapsed_sidebar</source>
<target>Faire basculer l'état de la barre latérale gauche lors du chargement de la page (ouverture ou fermeture).</target>
</trans-unit>
<trans-unit id="label.theme.mini_sidebar">
<source>label.theme.mini_sidebar</source>
<target>Changer la taille de la barre latérale gauche (large ou réduite)</target>
</trans-unit>
<!--
Help - Manual

View File

@@ -368,22 +368,10 @@
<source>profile.preferences</source>
<target>Beállítások</target>
</trans-unit>
<trans-unit id="label.theme.fixed_layout">
<source>label.theme.fixed_layout</source>
<target>Rögzitett elrendezés. Nem használhatod egyszerre a dobozos elrendezéssel</target>
</trans-unit>
<trans-unit id="label.theme.boxed_layout">
<source>label.theme.boxed_layout</source>
<target>Dobozos elrendezés (nagy kijelzőkön jobban néz ki)</target>
</trans-unit>
<trans-unit id="label.theme.collapsed_sidebar">
<source>label.theme.collapsed_sidebar</source>
<target>A bal oldali oldalsáv automatikus elrejtése</target>
</trans-unit>
<trans-unit id="label.theme.mini_sidebar">
<source>label.theme.mini_sidebar</source>
<target>A bal oldali oldalsáv fejlécének automatikus összecsukása</target>
</trans-unit>
<trans-unit id="label.calendar.initial_view">
<source>label.calendar.initial_view</source>
<target>Alapértelmezett naptár nézet</target>

View File

@@ -359,22 +359,10 @@
<source>profile.preferences</source>
<target>Preferenze</target>
</trans-unit>
<trans-unit id="label.theme.fixed_layout">
<source>label.theme.fixed_layout</source>
<target>Attiva il layout fisso. Non é possibile usare il layout fisso e boxato allo stesso tempo.</target>
</trans-unit>
<trans-unit id="label.theme.boxed_layout">
<source>label.theme.boxed_layout</source>
<target>Attiva il layout boxato (consigliato su schermi grandi)</target>
</trans-unit>
<trans-unit id="label.theme.collapsed_sidebar">
<source>label.theme.collapsed_sidebar</source>
<target>Auto collassa la sidebar di sinistra</target>
</trans-unit>
<trans-unit id="label.theme.mini_sidebar">
<source>label.theme.mini_sidebar</source>
<target>Nascondi sidebar di sinistra. Usa il bottone sull'header</target>
</trans-unit>
<!--
Help - Manual

View File

@@ -367,22 +367,10 @@
<source>profile.preferences</source>
<target>Preferências</target>
</trans-unit>
<trans-unit id="label.theme.fixed_layout">
<source>label.theme.fixed_layout</source>
<target>Ative o layout fixo. Você não pode usar layouts fixos e encaixados juntos.</target>
</trans-unit>
<trans-unit id="label.theme.boxed_layout">
<source>label.theme.boxed_layout</source>
<target>Ativar o layout em caixa (melhor em telas grandes)</target>
</trans-unit>
<trans-unit id="label.theme.collapsed_sidebar">
<source>label.theme.collapsed_sidebar</source>
<target>Alterna o estado da barra lateral esquerda no carregamento da página (abrir ou recolher)</target>
</trans-unit>
<trans-unit id="label.theme.mini_sidebar">
<source>label.theme.mini_sidebar</source>
<target>Alterna o tamanho do cabeçalho da barra lateral esquerda (completo ou recolhido)</target>
</trans-unit>
<trans-unit id="label.calendar.initial_view">
<source>label.calendar.initial_view</source>
<target>Vista inicial do calendário</target>

View File

@@ -363,22 +363,10 @@
<source>profile.preferences</source>
<target>Настройки</target>
</trans-unit>
<trans-unit id="label.theme.fixed_layout">
<source>label.theme.fixed_layout</source>
<target>Активизирует "статическую раскладку" (левая панель навигации и заголовок остаются при прокрутке страницы на своих местах)</target>
</trans-unit>
<trans-unit id="label.theme.boxed_layout">
<source>label.theme.boxed_layout</source>
<target>Активизирует "Сжатую раскладку" (подходит для больших экранов, но не для одновременного применения со "статичной раскладкой")</target>
</trans-unit>
<trans-unit id="label.theme.collapsed_sidebar">
<source>label.theme.collapsed_sidebar</source>
<target>Управление статусом левой панели навигации (скрыта или открыта)</target>
</trans-unit>
<trans-unit id="label.theme.mini_sidebar">
<source>label.theme.mini_sidebar</source>
<target>Активизирует уменьшенную версию панели навигации</target>
</trans-unit>
<!--
Help - Manual