]> Raphaƫl G. Git Repositories - userbundle/blobdiff - DependencyInjection/Configuration.php
Rename contact.name to contact.title
[userbundle] / DependencyInjection / Configuration.php
index 14066d194b5564470e7b85a14e91103d2adf07b6..efc8a686f5638f5645aa0addad429f1a42498425 100644 (file)
@@ -16,61 +16,99 @@ class Configuration implements ConfigurationInterface {
         */
        public function getConfigTreeBuilder() {
                //Set tree builder
-               $treeBuilder = new TreeBuilder();
+               $treeBuilder = new TreeBuilder('rapsys_user');
 
                //The bundle default values
                $defaults = [
-                       'class' => [
+                       'class' => [
                                'group' => 'Rapsys\\UserBundle\\Entity\\Group',
-                               'title' => 'Rapsys\\UserBundle\\Entity\\Title',
+                               'civility' => 'Rapsys\\UserBundle\\Entity\\Civility',
                                'user' => 'Rapsys\\UserBundle\\Entity\\User'
                        ],
+                       'default' => [
+                               'civility' => 'Mister',
+                               'group' => [ 'User' ]
+                       ],
+                       'route' => [
+                               'index' => [
+                                       'name' => 'rapsys_user_index',
+                                       'context' => []
+                               ],
+                               'login' => [
+                                       'name' => 'rapsys_user_login',
+                                       'context' => []
+                               ],
+                               'recover' => [
+                                       'name' => 'rapsys_user_recover',
+                                       'context' => []
+                               ],
+                               'recover_mail' => [
+                                       'name' => 'rapsys_user_recover_mail',
+                                       'context' => []
+                               ],
+                               'register' => [
+                                       'name' => 'rapsys_user_register',
+                                       'context' => []
+                               ]
+                       ],
+                       'translate' => [],
+                       'locales' => '%kernel.translator.fallbacks%',
+                       'languages' => [
+                               'en-gb' => 'English'
+                       ],
                        'contact' => [
-                               'name' => 'John Doe',
-                               'mail' => 'contact@example.com',
-                               'home_name' => 'rapsys_user_homepage',
-                               'home_args' => []
+                               'title' => 'John Doe',
+                               'mail' => 'contact@example.com'
                        ],
                        'login' => [
-                               'template' => '@@RapsysUser/security/login.html.twig',
-                               'context' => []
-                       ],
-                       'register' => [
-                               'mail_template' => '@@RapsysUser/mail/register.html.twig',
-                               'mail_context' => [
-                                       'title' => 'Title',
-                                       'subtitle' => 'Hi, %%name%%',
-                                       'subject' => 'Welcome to %%title%%',
-                                       'message' => 'Thanks so much for joining us, from now on, you are part of %%title%%.'
-                               ],
-                               'template' => '@@RapsysUser/security/register.html.twig',
-                               'context' => []
+                               'route' => ['index' => 'index_url'],
+                               'view' => [
+                                       'name' => '@RapsysUser/form/login.html.twig',
+                                       'form' => 'Rapsys\UserBundle\Form\LoginType',
+                                       'context' => []
+                               ]
                        ],
                        'recover' => [
-                               'mail_template' => '@@RapsysUser/mail/recover.html.twig',
-                               'mail_context' => [
-                                       'title' => 'Title',
-                                       'subtitle' => 'Hi, %%name%%',
-                                       'subject' => 'Recover account on %%title%%',
-                                       'raw' => 'Thanks so much for joining us, to recover your account you can follow this link: <a href="%%url%%">%%url%%</a>'
+                               'route' => ['index' => 'index_url', 'recover_mail' => 'recover_url'],
+                               'view' => [
+                                       'name' => '@RapsysUser/form/recover.html.twig',
+                                       'form' => 'Rapsys\UserBundle\Form\RecoverType',
+                                       'context' => []
                                ],
-                               'url_name' => 'rapsys_user_recover_mail',
-                               'url_args' => [],
-                               'template' => '@@RapsysUser/security/recover.html.twig',
-                               'context' => []
+                               'mail' => [
+                                       'subject' => 'Welcome back!',
+                                       'html' => '@RapsysUser/mail/recover.html.twig',
+                                       'text' => '@RapsysUser/mail/recover.text.twig',
+                                       'context' => []
+                               ]
                        ],
                        'recover_mail' => [
-                               'mail_template' => '@@RapsysUser/mail/recover.html.twig',
-                               'mail_context' => [
-                                       'title' => 'Title',
-                                       'subtitle' => 'Hi, %%name%%',
-                                       'subject' => 'Account recovered on %%title%%',
-                                       'raw' => 'Your account password has been changed, to recover your account you can follow this link: <a href="%%url%%">%%url%%</a>'
+                               'route' => ['index' => 'index_url', 'recover_mail' => 'recover_url'],
+                               'view' => [
+                                       'name' => '@RapsysUser/form/recover_mail.html.twig',
+                                       'form' => 'Rapsys\UserBundle\Form\RecoverMailType',
+                                       'context' => []
                                ],
-                               'url_name' => 'rapsys_user_recover_mail',
-                               'url_args' => [],
-                               'template' => '@@RapsysUser/security/recover_mail.html.twig',
-                               'context' => []
+                               'mail' => [
+                                       'subject' => 'Welcome back!',
+                                       'html' => '@RapsysUser/mail/recover_mail.html.twig',
+                                       'text' => '@RapsysUser/mail/recover_mail.text.twig',
+                                       'context' => []
+                               ]
+                       ],
+                       'register' => [
+                               'route' => ['index' => 'index_url'],
+                               'view' => [
+                                       'form' => 'Rapsys\UserBundle\Form\RegisterType',
+                                       'name' => '@RapsysUser/form/register.html.twig',
+                                       'context' => []
+                               ],
+                               'mail' => [
+                                       'subject' => 'Welcome!',
+                                       'html' => '@RapsysUser/mail/register.html.twig',
+                                       'text' => '@RapsysUser/mail/register.text.twig',
+                                       'context' => []
+                               ]
                        ]
                ];
 
@@ -83,120 +121,228 @@ class Configuration implements ConfigurationInterface {
                //Here we define the parameters that are allowed to configure the bundle.
                $treeBuilder
                        //Parameters
-                       ->root('parameters')
+                       ->getRootNode()
                                ->addDefaultsIfNotSet()
                                ->children()
-                                       ->arrayNode('rapsys_user')
+                                       ->arrayNode('class')
                                                ->addDefaultsIfNotSet()
                                                ->children()
-                                                       ->arrayNode('class')
-                                                               ->isRequired()
+                                                       ->scalarNode('group')->cannotBeEmpty()->defaultValue($defaults['class']['group'])->end()
+                                                       ->scalarNode('civility')->cannotBeEmpty()->defaultValue($defaults['class']['civility'])->end()
+                                                       ->scalarNode('user')->cannotBeEmpty()->defaultValue($defaults['class']['user'])->end()
+                                               ->end()
+                                       ->end()
+                                       ->arrayNode('default')
+                                               ->addDefaultsIfNotSet()
+                                               ->children()
+                                                       ->scalarNode('civility')->cannotBeEmpty()->defaultValue($defaults['default']['civility'])->end()
+                                                       ->arrayNode('group')
+                                                               ->treatNullLike(array())
+                                                               ->defaultValue($defaults['default']['group'])
+                                                               ->scalarPrototype()->end()
+                                                       ->end()
+                                               ->end()
+                                       ->end()
+                                       ->arrayNode('route')
+                                               ->addDefaultsIfNotSet()
+                                               ->children()
+                                                       ->arrayNode('index')
                                                                ->addDefaultsIfNotSet()
                                                                ->children()
-                                                                       ->scalarNode('group')->isRequired()->defaultValue($defaults['class']['group'])->end()
-                                                                       ->scalarNode('title')->isRequired()->defaultValue($defaults['class']['title'])->end()
-                                                                       ->scalarNode('user')->isRequired()->defaultValue($defaults['class']['user'])->end()
+                                                                       ->scalarNode('name')->cannotBeEmpty()->defaultValue($defaults['route']['index']['name'])->end()
+                                                                       ->arrayNode('context')
+                                                                               ->treatNullLike(array())
+                                                                               ->defaultValue($defaults['route']['index']['context'])
+                                                                               ->scalarPrototype()->end()
+                                                                       ->end()
                                                                ->end()
                                                        ->end()
-                                                       ->arrayNode('contact')
-                                                               ->isRequired()
+                                                       ->arrayNode('login')
                                                                ->addDefaultsIfNotSet()
                                                                ->children()
-                                                                       ->scalarNode('name')->isRequired()->defaultValue($defaults['contact']['name'])->end()
-                                                                       ->scalarNode('mail')->isRequired()->defaultValue($defaults['contact']['mail'])->end()
-                                                                       ->scalarNode('home_name')->isRequired()->defaultValue($defaults['contact']['home_name'])->end()
-                                                                       ->arrayNode('home_args')
-                                                                               ->isRequired()
-                                                                               ->treatNullLike($defaults['contact']['home_args'])
-                                                                               ->defaultValue($defaults['contact']['home_args'])
+                                                                       ->scalarNode('name')->cannotBeEmpty()->defaultValue($defaults['route']['login']['name'])->end()
+                                                                       ->arrayNode('context')
+                                                                               ->treatNullLike(array())
+                                                                               ->defaultValue($defaults['route']['login']['context'])
                                                                                ->scalarPrototype()->end()
                                                                        ->end()
                                                                ->end()
                                                        ->end()
-                                                       ->arrayNode('login')
-                                                               ->isRequired()
+                                                       ->arrayNode('recover')
                                                                ->addDefaultsIfNotSet()
                                                                ->children()
-                                                                       ->scalarNode('template')->isRequired()->defaultValue($defaults['login']['template'])->end()
+                                                                       ->scalarNode('name')->cannotBeEmpty()->defaultValue($defaults['route']['recover']['name'])->end()
                                                                        ->arrayNode('context')
-                                                                               ->isRequired()
                                                                                ->treatNullLike(array())
-                                                                               ->defaultValue($defaults['login']['context'])
+                                                                               ->defaultValue($defaults['route']['recover']['context'])
                                                                                ->scalarPrototype()->end()
                                                                        ->end()
                                                                ->end()
                                                        ->end()
-                                                       ->arrayNode('register')
-                                                               ->isRequired()
+                                                       ->arrayNode('recover_mail')
                                                                ->addDefaultsIfNotSet()
                                                                ->children()
-                                                                       ->scalarNode('mail_template')->isRequired()->defaultValue($defaults['register']['mail_template'])->end()
-                                                                       ->arrayNode('mail_context')
-                                                                               ->isRequired()
-                                                                               ->treatNullLike($defaults['register']['mail_context'])
-                                                                               ->defaultValue($defaults['register']['mail_context'])
+                                                                       ->scalarNode('name')->cannotBeEmpty()->defaultValue($defaults['route']['recover_mail']['name'])->end()
+                                                                       ->arrayNode('context')
+                                                                               ->treatNullLike(array())
+                                                                               ->defaultValue($defaults['route']['recover_mail']['context'])
                                                                                ->scalarPrototype()->end()
                                                                        ->end()
-                                                                       ->scalarNode('template')->isRequired()->defaultValue($defaults['register']['template'])->end()
+                                                               ->end()
+                                                       ->end()
+                                                       ->arrayNode('register')
+                                                               ->addDefaultsIfNotSet()
+                                                               ->children()
+                                                                       ->scalarNode('name')->cannotBeEmpty()->defaultValue($defaults['route']['register']['name'])->end()
                                                                        ->arrayNode('context')
-                                                                               ->isRequired()
-                                                                               ->treatNullLike($defaults['register']['context'])
-                                                                               ->defaultValue($defaults['register']['context'])
+                                                                               ->treatNullLike(array())
+                                                                               ->defaultValue($defaults['route']['register']['context'])
                                                                                ->scalarPrototype()->end()
                                                                        ->end()
                                                                ->end()
                                                        ->end()
-                                                       ->arrayNode('recover')
-                                                               ->isRequired()
+                                               ->end()
+                                       ->end()
+                                       ->arrayNode('translate')
+                                               ->treatNullLike(array())
+                                               ->defaultValue($defaults['translate'])
+                                               ->scalarPrototype()->end()
+                                       ->end()
+                                       ->scalarNode('locales')->cannotBeEmpty()->defaultValue($defaults['locales'])->end()
+                                       ->arrayNode('languages')
+                                               ->treatNullLike([])
+                                               ->defaultValue($defaults['languages'])
+                                               ->scalarPrototype()->end()
+                                       ->end()
+                                       ->arrayNode('contact')
+                                               ->addDefaultsIfNotSet()
+                                               ->children()
+                                                       ->scalarNode('title')->cannotBeEmpty()->defaultValue($defaults['contact']['title'])->end()
+                                                       ->scalarNode('mail')->cannotBeEmpty()->defaultValue($defaults['contact']['mail'])->end()
+                                               ->end()
+                                       ->end()
+                                       ->arrayNode('login')
+                                               ->addDefaultsIfNotSet()
+                                               ->children()
+                                                       ->arrayNode('route')
+                                                               ->treatNullLike(array())
+                                                               ->defaultValue($defaults['login']['route'])
+                                                               ->scalarPrototype()->end()
+                                                       ->end()
+                                                       ->arrayNode('view')
                                                                ->addDefaultsIfNotSet()
                                                                ->children()
-                                                                       ->scalarNode('mail_template')->isRequired()->defaultValue($defaults['recover']['mail_template'])->end()
-                                                                       ->arrayNode('mail_context')
-                                                                               ->isRequired()
-                                                                               ->treatNullLike($defaults['recover']['mail_context'])
-                                                                               ->defaultValue($defaults['recover']['mail_context'])
-                                                                               ->scalarPrototype()->end()
+                                                                       ->scalarNode('name')->cannotBeEmpty()->defaultValue($defaults['login']['view']['name'])->end()
+                                                                       ->scalarNode('form')->cannotBeEmpty()->defaultValue($defaults['login']['view']['form'])->end()
+                                                                       ->arrayNode('context')
+                                                                               ->treatNullLike(array())
+                                                                               ->defaultValue($defaults['login']['view']['context'])
+                                                                               ->variablePrototype()->end()
                                                                        ->end()
-                                                                       ->scalarNode('url_name')->isRequired()->defaultValue($defaults['recover']['url_name'])->end()
-                                                                       ->arrayNode('url_args')
-                                                                               ->isRequired()
-                                                                               ->treatNullLike($defaults['recover']['url_args'])
-                                                                               ->defaultValue($defaults['recover']['url_args'])
-                                                                               ->scalarPrototype()->end()
+                                                               ->end()
+                                                       ->end()
+                                               ->end()
+                                       ->end()
+                                       ->arrayNode('recover')
+                                               ->addDefaultsIfNotSet()
+                                               ->children()
+                                                       ->arrayNode('route')
+                                                               ->treatNullLike(array())
+                                                               ->defaultValue($defaults['recover']['route'])
+                                                               ->scalarPrototype()->end()
+                                                       ->end()
+                                                       ->arrayNode('view')
+                                                               ->addDefaultsIfNotSet()
+                                                               ->children()
+                                                                       ->scalarNode('name')->cannotBeEmpty()->defaultValue($defaults['recover']['view']['name'])->end()
+                                                                       ->scalarNode('form')->cannotBeEmpty()->defaultValue($defaults['recover']['view']['form'])->end()
+                                                                       ->arrayNode('context')
+                                                                               ->treatNullLike(array())
+                                                                               ->defaultValue($defaults['recover']['view']['context'])
+                                                                               ->variablePrototype()->end()
                                                                        ->end()
-                                                                       ->scalarNode('template')->isRequired()->defaultValue($defaults['recover']['template'])->end()
+                                                               ->end()
+                                                       ->end()
+                                                       ->arrayNode('mail')
+                                                               ->addDefaultsIfNotSet()
+                                                               ->children()
+                                                                       ->scalarNode('subject')->cannotBeEmpty()->defaultValue($defaults['recover']['mail']['subject'])->end()
+                                                                       ->scalarNode('html')->cannotBeEmpty()->defaultValue($defaults['recover']['mail']['html'])->end()
+                                                                       ->scalarNode('text')->cannotBeEmpty()->defaultValue($defaults['recover']['mail']['text'])->end()
                                                                        ->arrayNode('context')
-                                                                               ->isRequired()
                                                                                ->treatNullLike(array())
-                                                                               ->defaultValue($defaults['recover']['context'])
-                                                                               ->scalarPrototype()->end()
+                                                                               ->defaultValue($defaults['recover']['mail']['context'])
+                                                                               ->variablePrototype()->end()
                                                                        ->end()
                                                                ->end()
                                                        ->end()
-                                                       ->arrayNode('recover_mail')
-                                                               ->isRequired()
+                                               ->end()
+                                       ->end()
+                                       ->arrayNode('recover_mail')
+                                               ->addDefaultsIfNotSet()
+                                               ->children()
+                                                       ->arrayNode('route')
+                                                               ->treatNullLike(array())
+                                                               ->defaultValue($defaults['recover_mail']['route'])
+                                                               ->scalarPrototype()->end()
+                                                       ->end()
+                                                       ->arrayNode('view')
                                                                ->addDefaultsIfNotSet()
                                                                ->children()
-                                                                       ->scalarNode('mail_template')->isRequired()->defaultValue($defaults['recover']['mail_template'])->end()
-                                                                       ->arrayNode('mail_context')
-                                                                               ->isRequired()
-                                                                               ->treatNullLike($defaults['recover']['mail_context'])
-                                                                               ->defaultValue($defaults['recover']['mail_context'])
-                                                                               ->scalarPrototype()->end()
+                                                                       ->scalarNode('name')->cannotBeEmpty()->defaultValue($defaults['recover_mail']['view']['name'])->end()
+                                                                       ->scalarNode('form')->cannotBeEmpty()->defaultValue($defaults['recover_mail']['view']['form'])->end()
+                                                                       ->arrayNode('context')
+                                                                               ->treatNullLike(array())
+                                                                               ->defaultValue($defaults['recover_mail']['view']['context'])
+                                                                               ->variablePrototype()->end()
                                                                        ->end()
-                                                                       ->scalarNode('url_name')->isRequired()->defaultValue($defaults['recover']['url_name'])->end()
-                                                                       ->arrayNode('url_args')
-                                                                               ->isRequired()
-                                                                               ->treatNullLike($defaults['recover']['url_args'])
-                                                                               ->defaultValue($defaults['recover']['url_args'])
-                                                                               ->scalarPrototype()->end()
+                                                               ->end()
+                                                       ->end()
+                                                       ->arrayNode('mail')
+                                                               ->addDefaultsIfNotSet()
+                                                               ->children()
+                                                                       ->scalarNode('subject')->cannotBeEmpty()->defaultValue($defaults['recover_mail']['mail']['subject'])->end()
+                                                                       ->scalarNode('html')->cannotBeEmpty()->defaultValue($defaults['recover_mail']['mail']['html'])->end()
+                                                                       ->scalarNode('text')->cannotBeEmpty()->defaultValue($defaults['recover_mail']['mail']['text'])->end()
+                                                                       ->arrayNode('context')
+                                                                               ->treatNullLike(array())
+                                                                               ->defaultValue($defaults['recover_mail']['mail']['context'])
+                                                                               ->variablePrototype()->end()
+                                                                       ->end()
+                                                               ->end()
+                                                       ->end()
+                                               ->end()
+                                       ->end()
+                                       ->arrayNode('register')
+                                               ->addDefaultsIfNotSet()
+                                               ->children()
+                                                       ->arrayNode('route')
+                                                               ->treatNullLike(array())
+                                                               ->defaultValue($defaults['register']['route'])
+                                                               ->scalarPrototype()->end()
+                                                       ->end()
+                                                       ->arrayNode('view')
+                                                               ->addDefaultsIfNotSet()
+                                                               ->children()
+                                                                       ->scalarNode('form')->cannotBeEmpty()->defaultValue($defaults['register']['view']['form'])->end()
+                                                                       ->scalarNode('name')->cannotBeEmpty()->defaultValue($defaults['register']['view']['name'])->end()
+                                                                       ->arrayNode('context')
+                                                                               ->treatNullLike(array())
+                                                                               ->defaultValue($defaults['register']['view']['context'])
+                                                                               ->variablePrototype()->end()
                                                                        ->end()
-                                                                       ->scalarNode('template')->isRequired()->defaultValue($defaults['recover']['template'])->end()
+                                                               ->end()
+                                                       ->end()
+                                                       ->arrayNode('mail')
+                                                               ->addDefaultsIfNotSet()
+                                                               ->children()
+                                                                       ->scalarNode('subject')->cannotBeEmpty()->defaultValue($defaults['register']['mail']['subject'])->end()
+                                                                       ->scalarNode('html')->cannotBeEmpty()->defaultValue($defaults['register']['mail']['html'])->end()
+                                                                       ->scalarNode('text')->cannotBeEmpty()->defaultValue($defaults['register']['mail']['text'])->end()
                                                                        ->arrayNode('context')
-                                                                               ->isRequired()
                                                                                ->treatNullLike(array())
-                                                                               ->defaultValue($defaults['recover']['context'])
-                                                                               ->scalarPrototype()->end()
+                                                                               ->defaultValue($defaults['register']['mail']['context'])
+                                                                               ->variablePrototype()->end()
                                                                        ->end()
                                                                ->end()
                                                        ->end()