From 32da2a70ef278bd42f66eb82c3fbf1905a417b87 Mon Sep 17 00:00:00 2001 From: Jeremy Date: Mon, 23 Feb 2015 22:55:06 +0100 Subject: Add LiipThemeBundle Re-defined the config / user relation to be OneToOne bidirectionnal. ConfigType is now a service so I can inject the list of available themes that are also used by LiipThemeBundle Force sqlite for test In case of people use a different driver in parameter.yml (yes I do :)) --- src/Wallabag/CoreBundle/Form/Type/ConfigType.php | 25 +++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) (limited to 'src/Wallabag/CoreBundle/Form') diff --git a/src/Wallabag/CoreBundle/Form/Type/ConfigType.php b/src/Wallabag/CoreBundle/Form/Type/ConfigType.php index a1e0ce47..0c8706e2 100644 --- a/src/Wallabag/CoreBundle/Form/Type/ConfigType.php +++ b/src/Wallabag/CoreBundle/Form/Type/ConfigType.php @@ -7,20 +7,23 @@ use Symfony\Component\OptionsResolver\OptionsResolverInterface; class ConfigType extends AbstractType { + private $themes = array(); + + /** + * @param array $themes Themes come from the LiipThemeBundle (liip_theme.themes) + */ + public function __construct($themes) + { + $this->themes = array_combine( + $themes, + array_map(function ($s) { return ucwords(strtolower(str_replace('-', ' ', $s))); }, $themes) + ); + } + public function buildForm(FormBuilderInterface $builder, array $options) { $builder - ->add('theme', 'choice', array( - 'choices' => array( - 'baggy' => 'Baggy', - 'courgette' => 'Courgette', - 'dark' => 'Dark', - 'default' => 'Default', - 'dmagenta' => 'Dmagenta', - 'solarized' => 'Solarized', - 'solarized_dark' => 'Solarized Dark', - ), - )) + ->add('theme', 'choice', array('choices' => $this->themes)) ->add('items_per_page', 'text') ->add('language') ->add('save', 'submit') -- cgit v1.2.3