X-Git-Url: https://git.rapsys.eu/userbundle/blobdiff_plain/a15c67f3328e55845e53257618a4d5ad612e4e05..d61258e1f2fc3ab57e5535f27cdf75c138f70813:/DependencyInjection/Configuration.php

diff --git a/DependencyInjection/Configuration.php b/DependencyInjection/Configuration.php
index 5ef8718..63ba75f 100644
--- a/DependencyInjection/Configuration.php
+++ b/DependencyInjection/Configuration.php
@@ -16,61 +16,94 @@ class Configuration implements ConfigurationInterface {
 	 */
 	public function getConfigTreeBuilder() {
 		//Set tree builder
-		$treeBuilder = new TreeBuilder('parameters');
+		$treeBuilder = new TreeBuilder('rapsys_user');
 
 		//The bundle default values
 		$defaults = [
-	    		'class' => [
+			'class' => [
 				'group' => 'Rapsys\\UserBundle\\Entity\\Group',
 				'title' => 'Rapsys\\UserBundle\\Entity\\Title',
 				'user' => 'Rapsys\\UserBundle\\Entity\\User'
 			],
+			'default' => [
+				'title' => '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' => []
+				]
+			],
 			'contact' => [
 				'name' => 'John Doe',
-				'mail' => 'contact@example.com',
-				'home_name' => 'rapsys_user_homepage',
-				'home_args' => []
+				'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' => []
+				],
+				'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' => []
 				],
-				'url_name' => 'rapsys_user_recover_mail',
-				'url_args' => [],
-				'template' => '@@RapsysUser/security/recover_mail.html.twig',
-				'context' => []
+				'mail' => [
+					'subject' => 'Welcome!',
+					'html' => '@RapsysUser/mail/register.html.twig',
+					'text' => '@RapsysUser/mail/register.text.twig',
+					'context' => []
+				]
 			]
 		];
 
@@ -86,117 +119,214 @@ class Configuration implements ConfigurationInterface {
 			->getRootNode()
 				->addDefaultsIfNotSet()
 				->children()
-					->arrayNode('rapsys_user')
+					->arrayNode('class')
+						->addDefaultsIfNotSet()
+						->children()
+							->scalarNode('group')->cannotBeEmpty()->defaultValue($defaults['class']['group'])->end()
+							->scalarNode('title')->cannotBeEmpty()->defaultValue($defaults['class']['title'])->end()
+							->scalarNode('user')->cannotBeEmpty()->defaultValue($defaults['class']['user'])->end()
+						->end()
+					->end()
+					->arrayNode('default')
 						->addDefaultsIfNotSet()
 						->children()
-							->arrayNode('class')
-								->isRequired()
+							->scalarNode('title')->cannotBeEmpty()->defaultValue($defaults['default']['title'])->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('contact')
+						->addDefaultsIfNotSet()
+						->children()
+							->scalarNode('name')->cannotBeEmpty()->defaultValue($defaults['contact']['name'])->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()
-									->scalarNode('template')->isRequired()->defaultValue($defaults['recover']['template'])->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')
-										->isRequired()
 										->treatNullLike(array())
-										->defaultValue($defaults['recover']['context'])
-										->scalarPrototype()->end()
+										->defaultValue($defaults['register']['view']['context'])
+										->variablePrototype()->end()
+									->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')
+										->treatNullLike(array())
+										->defaultValue($defaults['register']['mail']['context'])
+										->variablePrototype()->end()
 									->end()
 								->end()
 							->end()