]> Raphaël G. Git Repositories - airbundle/blobdiff - Resources/config/packages/rapsys_air.yaml
Move languages, locales and locale in rapsys_air section
[airbundle] / Resources / config / packages / rapsys_air.yaml
index 283651ff4fd9a2323105ad8e624a109880e29a6f..30f6397410c44b969e4dfda2102e4a466da071d6 100644 (file)
 #RapsysAir configuration
 rapsys_air:
 #RapsysAir configuration
 rapsys_air:
+    languages:
+        en_gb: 'English'
+        fr_fr: 'French'
+    locale: 'fr_fr'
+    locales: [ 'fr_fr', 'en_gb' ]
+    logo:
+        alt: 'Libre Air logo'
+    title: 'Libre Air'
 
 #RapsysUser configuration
 rapsys_user:
     #Class replacement
     class:
 
 #RapsysUser configuration
 rapsys_user:
     #Class replacement
     class:
-        group: 'Rapsys\AirBundle\Entity\Group'
         civility: 'Rapsys\AirBundle\Entity\Civility'
         civility: 'Rapsys\AirBundle\Entity\Civility'
+        country: 'Rapsys\AirBundle\Entity\Country'
+        dance: 'Rapsys\AirBundle\Entity\Dance'
+        group: 'Rapsys\AirBundle\Entity\Group'
         user: 'Rapsys\AirBundle\Entity\User'
     #Default replacement
     default:
         group: [ 'User' ]
         civility: 'Mister'
         user: 'Rapsys\AirBundle\Entity\User'
     #Default replacement
     default:
         group: [ 'User' ]
         civility: 'Mister'
+        languages: '%rapsys_air.languages%'
+        locales: '%rapsys_air.locales%'
+        country: 'France'
+        country_favorites: [ 'France', 'Belgium', 'Germany', 'Italy', 'Luxembourg', 'Portugal', 'Spain', 'Switzerland' ]
+        dance_favorites: [ 'Argentine Tango Ball', 'Argentine Tango Ball and class', 'Argentine Tango Ball and concert' ]
+        subscription_favorites: [ 'Milonga Raphaël' ]
     #Route replacement
     route:
         index:
             name: 'rapsys_air'
     #Translate replacement
     #Route replacement
     route:
         index:
             name: 'rapsys_air'
     #Translate replacement
-    translate: [ 'title', 'site.title', 'copy.by', 'copy.long', 'copy.short', 'copy.title' ]
-    #Languages replacement
-    languages:
-        en_gb: 'English'
-        fr_fr: 'French'
+    translate: [ 'title.page', 'title.section', 'title.site', 'password', 'copy.by', 'copy.long', 'copy.short', 'copy.title', 'logo.alt' ]
     #Contact replacement
     contact:
     #Contact replacement
     contact:
-        title: '%rapsys_air.contact.title%'
-        mail: '%rapsys_air.contact.mail%'
+        address: '%rapsys_air.contact.address%'
+        name: '%rapsys_air.contact.name%'
     #Context replacement
     context:
     #Context replacement
     context:
-        copy:
-            by: '%rapsys_air.copy.by%'
-            link: '%rapsys_air.copy.link%'
-            long: '%rapsys_air.copy.long%'
-            short: '%rapsys_air.copy.short%'
-            title: '%rapsys_air.copy.title%'
-        site:
-            ico: '%rapsys_air.site.ico%'
-            logo: '%rapsys_air.site.logo%'
-            png: '%rapsys_air.site.png%'
-            svg: '%rapsys_air.site.svg%'
-            title: '%rapsys_air.site.title%'
-            url: '%rapsys_air.site.url%'
+        copy: '%rapsys_air.copy%'
+        icon: '%rapsys_air.icon%'
+        logo: '%rapsys_air.logo%'
+        root: '%rapsys_air.root%'
+        title:
+            section: 'User'
+            site: '%rapsys_air.title%'
     #Edit replacement
     edit:
     #Edit replacement
     edit:
+        field:
+            pseudonym: false
         route:
         route:
-            index: 'site.url'
+            index: 'root'
         view:
         view:
-            form: 'Rapsys\AirBundle\Form\RegisterType'
-            name: '@RapsysAir/form/register.html.twig'
+            edit: 'Rapsys\AirBundle\Form\RegisterType'
+            name: '@RapsysAir/form/edit.html.twig'
             context:
             context:
-                title: 'Modify'
+                title:
+                    page: 'Modify account'
+                password: 'Modify password'
     #Login replacement
     login:
         route:
     #Login replacement
     login:
         route:
-            index: 'site.url'
+            index: 'root'
         view:
             name: '@RapsysAir/form/login.html.twig'
             context:
         view:
             name: '@RapsysAir/form/login.html.twig'
             context:
-                title: 'Login'
+                title:
+                    page: 'Login'
     #Recover replacement
     recover:
         route:
     #Recover replacement
     recover:
         route:
-            index: 'site.url'
+            index: 'root'
             recover: 'recover_url'
         view:
             name: '@RapsysAir/form/recover.html.twig'
             context:
             recover: 'recover_url'
         view:
             name: '@RapsysAir/form/recover.html.twig'
             context:
-                title: 'Recover'
+                title:
+                    page: 'Recover'
         mail:
             subject: 'Welcome back %%recipient_name%% to %%site.title%%'
             html: '@RapsysAir/mail/recover.html.twig'
             text: '@RapsysAir/mail/recover.text.twig'
             context:
         mail:
             subject: 'Welcome back %%recipient_name%% to %%site.title%%'
             html: '@RapsysAir/mail/recover.html.twig'
             text: '@RapsysAir/mail/recover.text.twig'
             context:
-    #Recover mail replacement
-    #recover_mail:
-    #    route:
-    #        index: 'site.url'
-    #        recover_mail: 'recover_url'
-    #    view:
-    #        name: '@RapsysAir/form/recover_mail.html.twig'
-    #        context:
-    #            title: 'Mail recover'
-    #    mail:
-    #        subject: 'Welcome back %%recipient_name%% to %%site.title%%'
-    #        html: '@RapsysAir/mail/recover_mail.html.twig'
-    #        text: '@RapsysAir/mail/recover_mail.text.twig'
-    #        context:
     #Register replacement
     register:
     #Register replacement
     register:
+        field:
+            city: false
+            country: false
+            phone: false
+            pseudonym: false
+            zipcode: false
         route:
         route:
-            index: 'site.url'
+            index: 'root'
             confirm: 'confirm_url'
         view:
             form: 'Rapsys\AirBundle\Form\RegisterType'
             name: '@RapsysAir/form/register.html.twig'
             context:
             confirm: 'confirm_url'
         view:
             form: 'Rapsys\AirBundle\Form\RegisterType'
             name: '@RapsysAir/form/register.html.twig'
             context:
-                title: 'Register'
+                title:
+                    page: 'Register'
         mail:
             subject: 'Welcome %%recipient_name%% to %%site.title%%'
             html: '@RapsysAir/mail/register.html.twig'
         mail:
             subject: 'Welcome %%recipient_name%% to %%site.title%%'
             html: '@RapsysAir/mail/register.html.twig'
@@ -104,23 +109,43 @@ rapsys_user:
 
 #Doctrine configuration
 doctrine:
 
 #Doctrine configuration
 doctrine:
-    #Dbal configuration
+    # Dbal configuration
     dbal:
     dbal:
-        mapping_types:
-            enum: string
+        charset: 'utf8mb4'
+        default_table_options:
+            charset: 'utf8mb4'
+            collation: 'utf8mb4_unicode_ci'
+
     #Orm configuration
     orm:
     #Orm configuration
     orm:
+        #Replace repository factory
+        repository_factory: 'Rapsys\AirBundle\Factory'
+
         #Force resolution of UserBundle entities to AirBundle one
         #XXX: without these lines, relations are lookup in parent namespace ignoring AirBundle extension
         resolve_target_entities:
         #Force resolution of UserBundle entities to AirBundle one
         #XXX: without these lines, relations are lookup in parent namespace ignoring AirBundle extension
         resolve_target_entities:
-            Rapsys\UserBundle\Entity\Group: Rapsys\AirBundle\Entity\Group
-            Rapsys\UserBundle\Entity\Civility: Rapsys\AirBundle\Entity\Civility
-            Rapsys\UserBundle\Entity\User: Rapsys\AirBundle\Entity\User
+            Rapsys\UserBundle\Entity\Group: 'Rapsys\AirBundle\Entity\Group'
+            Rapsys\UserBundle\Entity\Civility: 'Rapsys\AirBundle\Entity\Civility'
+            Rapsys\UserBundle\Entity\User: 'Rapsys\AirBundle\Entity\User'
+
+        mappings:
+            #Entity short syntax was removed
+            #XXX: see https://github.com/doctrine/orm/issues/8818
+            RapsysAirBundle:
+                type: 'yml'
+                is_bundle: true
+                dir: 'Resources/config/doctrine'
+                prefix: 'Rapsys\AirBundle\Entity'
+                alias: 'RapsysAirBundle'
 
 #Security configuration
 security:
 
 #Security configuration
 security:
-    #Set encoders
-    encoders:
+#XXX: seems dropped in symfony 7
+#    #Enable authenticator manager
+#    enable_authenticator_manager: true
+
+    #Set password hashers
+    password_hashers:
         #Rapsys\AirBundle\Entity\User: plaintext
         Rapsys\AirBundle\Entity\User:
             algorithm: 'bcrypt'
         #Rapsys\AirBundle\Entity\User: plaintext
         Rapsys\AirBundle\Entity\User:
             algorithm: 'bcrypt'
@@ -141,10 +166,8 @@ security:
 
         main:
             #Allow anonymous access
 
         main:
             #Allow anonymous access
-            anonymous: ~
-
-            #Disable logout on user change
-            logout_on_user_change: true
+            #anonymous: ~
+            #lazy: true
 
             #Activate database provider
             provider: database
 
             #Activate database provider
             provider: database
@@ -156,21 +179,34 @@ security:
             #XXX: https://symfony.com/doc/current/security/form_login_setup.html
             #TODO: https://symfony.com/doc/current/security/guard_authentication.html
             form_login:
             #XXX: https://symfony.com/doc/current/security/form_login_setup.html
             #TODO: https://symfony.com/doc/current/security/guard_authentication.html
             form_login:
+                #Redirect to referer if different from login route
                 use_referer: true
                 use_referer: true
+                #Login path
                 login_path: rapsys_user_login
                 login_path: rapsys_user_login
+                #Check path
                 check_path: rapsys_user_login
                 check_path: rapsys_user_login
+                #Username parameter
                 username_parameter: 'login[mail]'
                 username_parameter: 'login[mail]'
+                #Password parameter
                 password_parameter: 'login[password]'
 
             #Set logout route
             logout:
                 password_parameter: 'login[password]'
 
             #Set logout route
             logout:
+                #Logout route
                 path: rapsys_user_logout
                 path: rapsys_user_logout
-                #XXX: see https://symfony.com/doc/current/security.html#logging-out
-                success_handler: Rapsys\AirBundle\Security\LogoutSuccessHandler
-                #target: /
+                #Logout default target
+                target: rapsys_air
 
             #Set custom access denied handler
 
             #Set custom access denied handler
-            access_denied_handler: Rapsys\AirBundle\Security\AccessDeniedHandler
+            access_denied_handler: Rapsys\AirBundle\Handler\AccessDeniedHandler
+
+            #Remember me
+            #XXX: see https://symfony.com/doc/current/security/remember_me.html
+            remember_me:
+                #Use APP_SECRET
+                secret: '%kernel.secret%'
+                #Always remember me
+                always_remember_me: true
 
     #Set role hierarchy
     role_hierarchy:
 
     #Set role hierarchy
     role_hierarchy:
@@ -181,16 +217,38 @@ security:
 
 #Framework configuration
 framework:
 
 #Framework configuration
 framework:
-    default_locale: 'fr_fr'
+    cache:
+        default_memcached_provider: 'memcached://localhost:11211'
+        pools:
+            air.cache:
+                adapter: 'cache.adapter.memcached'
+            user.cache:
+                adapter: 'cache.adapter.memcached'
+    default_locale: '%rapsys_air.locale%'
     #error_controller: 'Rapsys\AirBundle\Controller\ErrorController::show'
     translator:
     #error_controller: 'Rapsys\AirBundle\Controller\ErrorController::show'
     translator:
-        fallbacks: [ 'fr_fr', 'en_gb' ]
+        fallbacks: '%rapsys_air.locales%'
     session:
         enabled: true
         handler_id: ~
     session:
         enabled: true
         handler_id: ~
+        storage_factory_id: 'session.storage.factory.native'
         cookie_secure: 'auto'
         cookie_samesite: 'lax'
     disallow_search_engine_index: false
         cookie_secure: 'auto'
         cookie_samesite: 'lax'
     disallow_search_engine_index: false
+    mailer:
+        headers:
+            X-Originating-IP: '%env(string:REMOTE_ADDR)%'
+    secret: '%env(string:APP_SECRET)%'
+    validation:
+        email_validation_mode: html5
+#    php_errors:
+#        log: true
+#    http_method_override: false
+#    session:
+#        handler_id: null
+#        cookie_secure: auto
+#        cookie_samesite: lax
+#        storage_factory_id: session.storage.factory.native
 #framework:
 #    error_controller: Rapsys\AirBundle\Controller\ErrorController::show
 #
 #framework:
 #    error_controller: Rapsys\AirBundle\Controller\ErrorController::show
 #
@@ -212,23 +270,23 @@ framework:
 services:
     #Register twig file_get_contents extension
     #XXX: obsolete by email.image twig filter in "twig/extensions" or "twig/html-extra"
 services:
     #Register twig file_get_contents extension
     #XXX: obsolete by email.image twig filter in "twig/extensions" or "twig/html-extra"
-    rapsys_air.twig.file_get_contents:
-        class: 'Rapsys\AirBundle\Twig\FileGetContentsExtension'
-        tags: [ 'twig.extension' ]
+    #rapsys_air.twig.file_get_contents:
+    #    class: 'Rapsys\AirBundle\Twig\FileGetContentsExtension'
+    #    tags: [ 'twig.extension' ]
     #Register twig base64 extension
     #Register twig base64 extension
-    rapsys_air.twig.base64:
-        class: 'Rapsys\AirBundle\Twig\Base64Extension'
-        tags: [ 'twig.extension' ]
+    #rapsys_air.twig.base64:
+    #    class: 'Rapsys\AirBundle\Twig\Base64Extension'
+    #    tags: [ 'twig.extension' ]
     #Register twig bb2html extension
     #Register twig bb2html extension
-    rapsys_air.twig.bb2html:
-        class: 'Rapsys\AirBundle\Twig\Bb2htmlExtension'
-        tags: [ 'twig.extension' ]
+    #rapsys_air.twig.bb2html:
+    #    class: 'Rapsys\AirBundle\Twig\Bb2htmlExtension'
+    #    tags: [ 'twig.extension' ]
     #Register twig intl extension
     #XXX: https://www.php.net/manual/en/class.intldateformatter.php
     #XXX: https://stackoverflow.com/questions/25948853/how-to-install-the-intl-extension-for-twig
     #Register twig intl extension
     #XXX: https://www.php.net/manual/en/class.intldateformatter.php
     #XXX: https://stackoverflow.com/questions/25948853/how-to-install-the-intl-extension-for-twig
-    rapsys_air.twig.intl:
-        class: 'Twig\Extensions\IntlExtension'
-        tags: [ 'twig.extension' ]
+    #rapsys_air.twig.intl:
+    #    class: 'Twig\Extensions\IntlExtension'
+    #    tags: [ 'twig.extension' ]
     #new TwigFilter('markdown_to_html', ['Twig\\Extra\\Markdown\\MarkdownRuntime', 'convert'], ['is_safe' => ['all']]),
     #new TwigFilter('html_to_markdown', 'Twig\\Extra\\Markdown\\twig_html_to_markdown', ['is_safe' => ['all']]),
     #Register twig markdown_to_html extension
     #new TwigFilter('markdown_to_html', ['Twig\\Extra\\Markdown\\MarkdownRuntime', 'convert'], ['is_safe' => ['all']]),
     #new TwigFilter('html_to_markdown', 'Twig\\Extra\\Markdown\\twig_html_to_markdown', ['is_safe' => ['all']]),
     #Register twig markdown_to_html extension
@@ -248,53 +306,52 @@ services:
     #    tags: [ 'twig.extension' ]
     #Register application controller
     Rapsys\AirBundle\Controller\ApplicationController:
     #    tags: [ 'twig.extension' ]
     #Register application controller
     Rapsys\AirBundle\Controller\ApplicationController:
-        arguments: [ '@service_container', '@router', '@translator' ]
+        arguments: [ '@security.authorization_checker', '@service_container', '@rapsys_user.access_decision_manager', '@doctrine', '@rapsys_air.facebook_util', '@form.factory', '@rapsys_pack.image_util', '@mailer.mailer', '@doctrine.orm.default_entity_manager', '@rapsys_pack.map_util', '@rapsys_pack.path_package', '@router', '@security.helper', '@rapsys_pack.slugger_util', '@request_stack', '@translator', '@twig' ]
         tags: [ 'controller.service_arguments' ]
     #Register calendar controller
     Rapsys\AirBundle\Controller\CalendarController:
         tags: [ 'controller.service_arguments' ]
     #Register calendar controller
     Rapsys\AirBundle\Controller\CalendarController:
-        arguments: [ '@service_container', '@router', '@translator' ]
+        arguments: [ '@security.authorization_checker', '@service_container', '@rapsys_user.access_decision_manager', '@doctrine', '@rapsys_air.facebook_util', '@form.factory', '@rapsys_pack.image_util', '@mailer.mailer', '@doctrine.orm.default_entity_manager', '@rapsys_pack.map_util', '@rapsys_pack.path_package', '@router', '@security.helper', '@rapsys_pack.slugger_util', '@request_stack', '@translator', '@twig' ]
         tags: [ 'controller.service_arguments' ]
     #Register default controller
     Rapsys\AirBundle\Controller\DefaultController:
         tags: [ 'controller.service_arguments' ]
     #Register default controller
     Rapsys\AirBundle\Controller\DefaultController:
-        arguments: [ '@service_container', '@router', '@translator' ]
+        arguments: [ '@security.authorization_checker', '@service_container', '@rapsys_user.access_decision_manager', '@doctrine', '@rapsys_air.facebook_util', '@form.factory', '@rapsys_pack.image_util', '@mailer.mailer', '@doctrine.orm.default_entity_manager', '@rapsys_pack.map_util', '@rapsys_pack.path_package', '@router', '@security.helper', '@rapsys_pack.slugger_util', '@request_stack', '@translator', '@twig' ]
+        tags: [ 'controller.service_arguments' ]
+    #Register dance controller
+    Rapsys\AirBundle\Controller\DanceController:
+        arguments: [ '@security.authorization_checker', '@service_container', '@rapsys_user.access_decision_manager', '@doctrine', '@rapsys_air.facebook_util', '@form.factory', '@rapsys_pack.image_util', '@mailer.mailer', '@doctrine.orm.default_entity_manager', '@rapsys_pack.map_util', '@rapsys_pack.path_package', '@router', '@security.helper', '@rapsys_pack.slugger_util', '@request_stack', '@translator', '@twig' ]
         tags: [ 'controller.service_arguments' ]
     #Register location controller
     Rapsys\AirBundle\Controller\LocationController:
         tags: [ 'controller.service_arguments' ]
     #Register location controller
     Rapsys\AirBundle\Controller\LocationController:
-        arguments: [ '@service_container', '@router', '@translator' ]
+        arguments: [ '@security.authorization_checker', '@service_container', '@rapsys_user.access_decision_manager', '@doctrine', '@rapsys_air.facebook_util', '@form.factory', '@rapsys_pack.image_util', '@mailer.mailer', '@doctrine.orm.default_entity_manager', '@rapsys_pack.map_util', '@rapsys_pack.path_package', '@router', '@security.helper', '@rapsys_pack.slugger_util', '@request_stack', '@translator', '@twig' ]
         tags: [ 'controller.service_arguments' ]
     #Register user controller
     Rapsys\AirBundle\Controller\UserController:
         tags: [ 'controller.service_arguments' ]
     #Register user controller
     Rapsys\AirBundle\Controller\UserController:
-        arguments: [ '@service_container', '@router', '@translator' ]
+        arguments: [ '@user.cache', '@security.authorization_checker', '@service_container', '@doctrine', '@form.factory', '@security.user_password_hasher', '@logger', '@mailer.mailer', '@doctrine.orm.default_entity_manager', '@router', '@security.helper', '@rapsys_pack.slugger_util', '@request_stack', '@translator', '@twig' ]
         tags: [ 'controller.service_arguments' ]
     #Register session controller
     Rapsys\AirBundle\Controller\SessionController:
         tags: [ 'controller.service_arguments' ]
     #Register session controller
     Rapsys\AirBundle\Controller\SessionController:
-        arguments: [ '@service_container', '@router', '@translator' ]
+        arguments: [ '@security.authorization_checker', '@service_container', '@rapsys_user.access_decision_manager', '@doctrine', '@rapsys_air.facebook_util', '@form.factory', '@rapsys_pack.image_util', '@mailer.mailer', '@doctrine.orm.default_entity_manager', '@rapsys_pack.map_util', '@rapsys_pack.path_package', '@router', '@security.helper', '@rapsys_pack.slugger_util', '@request_stack', '@translator', '@twig' ]
         tags: [ 'controller.service_arguments' ]
     #Register snippet controller
     Rapsys\AirBundle\Controller\SnippetController:
         tags: [ 'controller.service_arguments' ]
     #Register snippet controller
     Rapsys\AirBundle\Controller\SnippetController:
-        arguments: [ '@service_container', '@router', '@translator' ]
+        arguments: [ '@security.authorization_checker', '@service_container', '@rapsys_user.access_decision_manager', '@doctrine', '@rapsys_air.facebook_util', '@form.factory', '@rapsys_pack.image_util', '@mailer.mailer', '@doctrine.orm.default_entity_manager', '@rapsys_pack.map_util', '@rapsys_pack.path_package', '@router', '@security.helper', '@rapsys_pack.slugger_util', '@request_stack', '@translator', '@twig' ]
         tags: [ 'controller.service_arguments' ]
     #Register error controller
     Rapsys\AirBundle\Controller\ErrorController:
         tags: [ 'controller.service_arguments' ]
     #Register error controller
     Rapsys\AirBundle\Controller\ErrorController:
-        arguments: [ '@service_container', '@router', '@translator' ]
+        arguments: [ '@security.authorization_checker', '@service_container', '@rapsys_user.access_decision_manager', '@doctrine', '@rapsys_air.facebook_util', '@form.factory', '@rapsys_pack.image_util', '@mailer.mailer', '@doctrine.orm.default_entity_manager', '@rapsys_pack.map_util', '@rapsys_pack.path_package', '@router', '@security.helper', '@rapsys_pack.slugger_util', '@request_stack', '@translator', '@twig' ]
+        #arguments: [ '@service_container', '@router', '@translator' ]
         tags: [ 'controller.service_arguments' ]
     #Register locale event subscriber
     #TODO: remove that shit now ???
     #Rapsys\AirBundle\EventSubscriber\LocaleSubscriber:
     #    arguments: [ '@router', '%rapsys_air.locales%' ]
     #    tags: [ 'kernel.event_subscriber' ]
         tags: [ 'controller.service_arguments' ]
     #Register locale event subscriber
     #TODO: remove that shit now ???
     #Rapsys\AirBundle\EventSubscriber\LocaleSubscriber:
     #    arguments: [ '@router', '%rapsys_air.locales%' ]
     #    tags: [ 'kernel.event_subscriber' ]
-    #Register facebook event subscriber
-    Rapsys\AirBundle\EventSubscriber\FacebookSubscriber:
-        arguments: [ '@router', '%rapsys_air.locales%' ]
-        tags: [ 'kernel.event_subscriber' ]
     #Register access denied handler
     #Register access denied handler
-    Rapsys\AirBundle\Security\AccessDeniedHandler:
-        arguments: [ '@service_container', '@twig', '@router', '@request_stack', '@translator' ]
-    #Register logout success handler
-    Rapsys\AirBundle\Security\LogoutSuccessHandler:
-        arguments: [ '@router' ]
+    Rapsys\AirBundle\Handler\AccessDeniedHandler:
+        arguments: [ '@security.authorization_checker', '@service_container', '@rapsys_user.access_decision_manager', '@doctrine', '@rapsys_air.facebook_util', '@form.factory', '@rapsys_pack.image_util', '@mailer.mailer', '@doctrine.orm.default_entity_manager', '@rapsys_pack.map_util', '@rapsys_pack.path_package', '@router', '@security.helper', '@rapsys_pack.slugger_util', '@request_stack', '@translator', '@twig' ]
     #Register air fixtures
     Rapsys\AirBundle\DataFixtures\AirFixtures:
     #Register air fixtures
     Rapsys\AirBundle\DataFixtures\AirFixtures:
+        arguments: [ '@service_container', '@security.user_password_hasher' ]
         tags: [ 'doctrine.fixture.orm' ]
 #   #Set version strategy
 #   assets.static_version_strategy:
         tags: [ 'doctrine.fixture.orm' ]
 #   #Set version strategy
 #   assets.static_version_strategy:
@@ -311,30 +368,63 @@ services:
     Rapsys\AirBundle\Form\Extension\Type\HiddenEntityType:
         arguments: [ '@doctrine' ]
         tags: [ 'form.type' ]
     Rapsys\AirBundle\Form\Extension\Type\HiddenEntityType:
         arguments: [ '@doctrine' ]
         tags: [ 'form.type' ]
+    Rapsys\AirBundle\Form\ContactType:
+        arguments: [ '@rapsys_pack.image_util', '@rapsys_pack.slugger_util', '@translator' ]
+        tags: [ 'form.type' ]
+    Rapsys\AirBundle\Form\RegisterType:
+        arguments: [ '@doctrine.orm.entity_manager' ]
+        tags: [ 'form.type' ]
     Rapsys\AirBundle\Command\AttributeCommand:
         arguments: [ '@doctrine' ]
         tags: [ 'console.command' ]
     Rapsys\AirBundle\Command\CalendarCommand:
     Rapsys\AirBundle\Command\AttributeCommand:
         arguments: [ '@doctrine' ]
         tags: [ 'console.command' ]
     Rapsys\AirBundle\Command\CalendarCommand:
-        arguments: [ '@service_container', '@doctrine', '@router', '@translator' ]
+        arguments: [ '@doctrine', '@router', '@rapsys_pack.slugger_util', '@translator', 'airlibre', 0, '%kernel.project_dir%/var/cache', '%kernel.default_locale%' ]
+        tags: [ 'console.command' ]
+    Rapsys\AirBundle\Command\Calendar2Command:
+        arguments: [ '@doctrine', '@router', '@rapsys_pack.slugger_util', '@translator', '%kernel.default_locale%', '%env(string:GOOGLE_PROJECT)', '%env(string:GOOGLE_CLIENT)', '%env(string:GOOGLE_SECRET)' ]
         tags: [ 'console.command' ]
     Rapsys\AirBundle\Command\RekeyCommand:
         arguments: [ '@doctrine' ]
         tags: [ 'console.command' ]
     Rapsys\AirBundle\Command\WeatherCommand:
         tags: [ 'console.command' ]
     Rapsys\AirBundle\Command\RekeyCommand:
         arguments: [ '@doctrine' ]
         tags: [ 'console.command' ]
     Rapsys\AirBundle\Command\WeatherCommand:
-        arguments: [ '@doctrine' ]
+        arguments: [ '@doctrine', '@filesystem' ]
         tags: [ 'console.command' ]
         tags: [ 'console.command' ]
+    Rapsys\AirBundle\Factory:
+        arguments: [ '@request_stack', '@router', '@rapsys_pack.slugger_util', '@translator', '%kernel.default_locale%', '%rapsys_air.languages%' ]
+    Rapsys\UserBundle\Factory:
+        arguments: [ '@request_stack', '@router', '@rapsys_pack.slugger_util', '@translator', '%kernel.default_locale%', '%rapsys_air.languages%' ]
+    #Register facebook util service
+    rapsys_air.facebook_util:
+        class: 'Rapsys\PackBundle\Util\FacebookUtil'
+        arguments: [ '@router',  '%kernel.project_dir%/var/cache', '%rapsys_pack.path%', 'facebook', '%rapsys_air.path%/png/facebook.png', { irishgrover: '%rapsys_air.path%/ttf/irishgrover.v10.ttf', labelleaurore: '%rapsys_air.path%/ttf/labelleaurore.v10.ttf', dejavusans: '%rapsys_air.path%/ttf/dejavusans.2.37.ttf', droidsans: '%rapsys_air.path%/ttf/droidsans.regular.ttf' } ]
+        public: true
+    #Register security password_hasher_factory as public
+    #XXX: required for command `php bin/console doctrine:`
+    security.password_hasher_factory:
+        class: 'Symfony\Component\PasswordHasher\Hasher\PasswordHasherFactory'
+        arguments: [ { 'Rapsys\AirBundle\Entity\User': { class: 'Symfony\Component\PasswordHasher\Hasher\NativePasswordHasher', arguments: [ ~, ~, ~, '2y'] } } ]
+        public: true
+    #Register facebook event subscriber
+    Rapsys\PackBundle\Subscriber\FacebookSubscriber:
+        arguments: [ '@router', '%rapsys_air.locales%' ]
+        tags: [ 'kernel.event_subscriber' ]
 
 #Twig Configuration
 twig:
     #Enforce debug
 
 #Twig Configuration
 twig:
     #Enforce debug
-    #debug: true
     #auto_reload: ~
     #auto_reload: ~
+    debug: true
+    #debug: '%kernel.debug%'
+    #strict_variables: '%kernel.debug%'
+
     #Disable cache
     #XXX: enable forced regeneration of css and js at each page load
     cache: false
     #Disable cache
     #XXX: enable forced regeneration of css and js at each page load
     cache: false
+
     #Fix form layout for css
     #XXX: @RapsysAir is a shortcut to vendor/rapsys/airbundle/Resources/views directory here
     form_theme: [ '@RapsysAir/form/form_div_layout.html.twig' ]
     #Fix form layout for css
     #XXX: @RapsysAir is a shortcut to vendor/rapsys/airbundle/Resources/views directory here
     form_theme: [ '@RapsysAir/form/form_div_layout.html.twig' ]
+
     #Set twig paths
     paths:
         #Required by email.image(site_logo) directive
     #Set twig paths
     paths:
         #Required by email.image(site_logo) directive