simplified theme settings and standard layout (#586)
This commit is contained in:
@@ -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:
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
40
src/Migrations/Version20190219200020.php
Normal file
40
src/Migrations/Version20190219200020.php
Normal 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
|
||||
{
|
||||
}
|
||||
}
|
||||
@@ -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'));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user