]> Raphaël G. Git Repositories - airbundle/blobdiff - Resources/config/packages/rapsysair.yaml
Shorten air bundle and route alias
[airbundle] / Resources / config / packages / rapsysair.yaml
diff --git a/Resources/config/packages/rapsysair.yaml b/Resources/config/packages/rapsysair.yaml
new file mode 100644 (file)
index 0000000..9241979
--- /dev/null
@@ -0,0 +1,380 @@
+# RapsysAir configuration
+rapsysair:
+    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
+rapsysuser:
+    # Class replacement
+    class:
+        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'
+        languages: '%rapsysair.languages%'
+        locales: '%rapsysair.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: 'rapsysair'
+    # Translate replacement
+    translate: [ 'title.page', 'title.section', 'title.site', 'password', 'copy.by', 'copy.long', 'copy.short', 'copy.title', 'logo.alt' ]
+    # Contact replacement
+    contact:
+        address: '%rapsysair.contact.address%'
+        name: '%rapsysair.contact.name%'
+    # Context replacement
+    context:
+        copy: '%rapsysair.copy%'
+        icon: '%rapsysair.icon%'
+        logo: '%rapsysair.logo%'
+        root: '%rapsysair.root%'
+        title:
+            section: 'User'
+            site: '%rapsysair.title%'
+    # Edit replacement
+    edit:
+        field:
+            pseudonym: false
+        route:
+            index: 'root'
+        view:
+            edit: 'Rapsys\AirBundle\Form\RegisterType'
+            name: '@RapsysAir/form/edit.html.twig'
+            context:
+                title:
+                    page: 'Modify account'
+                password: 'Modify password'
+    # Login replacement
+    login:
+        route:
+            index: 'root'
+        view:
+            name: '@RapsysAir/form/login.html.twig'
+            context:
+                title:
+                    page: 'Login'
+    # Recover replacement
+    recover:
+        route:
+            index: 'root'
+            recover: 'recover_url'
+        view:
+            name: '@RapsysAir/form/recover.html.twig'
+            context:
+                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:
+    # Register replacement
+    register:
+        field:
+            city: false
+            country: false
+            phone: false
+            pseudonym: false
+            zipcode: false
+        route:
+            index: 'root'
+            confirm: 'confirm_url'
+        view:
+            form: 'Rapsys\AirBundle\Form\RegisterType'
+            name: '@RapsysAir/form/register.html.twig'
+            context:
+                title:
+                    page: 'Register'
+        mail:
+            subject: 'Welcome %%recipient_name%% to %%site.title%%'
+            html: '@RapsysAir/mail/register.html.twig'
+            text: '@RapsysAir/mail/register.text.twig'
+            context:
+
+# Doctrine configuration
+doctrine:
+    # Dbal configuration
+    dbal:
+        charset: 'utf8mb4'
+        default_table_options:
+            charset: 'utf8mb4'
+            collation: 'utf8mb4_unicode_ci'
+
+    # 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:
+            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:
+            # Map entities
+            # XXX: 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:
+    # Set password hashers
+    password_hashers:
+        # Rapsys\AirBundle\Entity\User: plaintext
+        Rapsys\AirBundle\Entity\User:
+            algorithm: 'bcrypt'
+
+    # Set providers
+    providers:
+        database:
+            entity:
+                class: 'Rapsys\AirBundle\Entity\User'
+                property: 'mail'
+
+    # Set firewall
+    firewalls:
+        # Disables authentication for assets and the profiler, adapt it according to your needs
+        dev:
+            pattern: '^/(_(profiler|wdt)|css|images|js)/'
+            security: false
+
+        main:
+            # Allow anonymous access
+            #anonymous: ~
+            #lazy: true
+
+            # Activate database provider
+            provider: 'database'
+
+            # XXX: https://symfony.com/doc/current/security.html#a-configuring-how-your-users-will-authenticate
+            #http_basic: ~
+
+            # Set form login
+            # XXX: see https://symfony.com/doc/current/security/form_login_setup.html
+            # XXX: see https://symfony.com/doc/current/security/custom_authenticator.html
+            form_login:
+                # Redirect to referer if different from login route
+                use_referer: true
+                # Login path
+                login_path: 'rapsysuser_login'
+                # Check path
+                check_path: 'rapsysuser_login'
+                # Username parameter
+                username_parameter: 'login[mail]'
+                # Password parameter
+                password_parameter: 'login[password]'
+
+            # Set logout route
+            logout:
+                # Logout route
+                path: 'rapsysuser_logout'
+                # Logout default target
+                target: 'rapsysair'
+
+            # Set custom access denied handler
+            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:
+        ROLE_GUEST: [ 'ROLE_USER' ]
+        ROLE_REGULAR: [ 'ROLE_USER', 'ROLE_GUEST' ]
+        ROLE_SENIOR: [ 'ROLE_USER', 'ROLE_GUEST', 'ROLE_REGULAR' ]
+        ROLE_ADMIN: [ 'ROLE_USER', 'ROLE_GUEST', 'ROLE_REGULAR', 'ROLE_SENIOR' ]
+
+# Framework configuration
+framework:
+    # Cache
+    cache:
+        # Memcache server
+        default_memcached_provider: 'memcached://localhost:11211'
+        # Cache pool
+        pools:
+            # Air cache
+            air.cache:
+                adapter: 'cache.adapter.memcached'
+            # User cache
+            user.cache:
+                adapter: 'cache.adapter.memcached'
+    default_locale: '%rapsysair.locale%'
+    disallow_search_engine_index: false
+    #error_controller: 'Rapsys\AirBundle\Controller\ErrorController::show'
+    # Append ip to mail headers
+    mailer:
+        headers:
+            X-Originating-IP: '%env(string:REMOTE_ADDR)%'
+    secret: '%env(string:APP_SECRET)%'
+    # Native session
+    session:
+        enabled: true
+        handler_id: ~
+        storage_factory_id: 'session.storage.factory.native'
+        cookie_secure: 'auto'
+        cookie_samesite: 'lax'
+    translator:
+        fallbacks: '%rapsysair.locales%'
+    validation:
+        email_validation_mode: 'html5'
+
+# Service configuration
+services:
+    # Register application controller
+    Rapsys\AirBundle\Controller\ApplicationController:
+        arguments: [ '@security.authorization_checker', '@service_container', '@rapsysuser.access_decision_manager', '@doctrine', '@rapsysair.facebook_util', '@form.factory', '@rapsyspack.image_util', '@mailer.mailer', '@doctrine.orm.default_entity_manager', '@rapsyspack.map_util', '@rapsyspack.path_package', '@router', '@security.helper', '@rapsyspack.slugger_util', '@request_stack', '@translator', '@twig' ]
+        tags: [ 'controller.service_arguments' ]
+    # Register calendar controller
+    Rapsys\AirBundle\Controller\CalendarController:
+        arguments: [ '@security.authorization_checker', '@service_container', '@rapsysuser.access_decision_manager', '@doctrine', '@rapsysair.facebook_util', '@form.factory', '@rapsyspack.image_util', '@mailer.mailer', '@doctrine.orm.default_entity_manager', '@rapsyspack.map_util', '@rapsyspack.path_package', '@router', '@security.helper', '@rapsyspack.slugger_util', '@request_stack', '@translator', '@twig' ]
+        tags: [ 'controller.service_arguments' ]
+    # Register default controller
+    Rapsys\AirBundle\Controller\DefaultController:
+        arguments: [ '@security.authorization_checker', '@service_container', '@rapsysuser.access_decision_manager', '@doctrine', '@rapsysair.facebook_util', '@form.factory', '@rapsyspack.image_util', '@mailer.mailer', '@doctrine.orm.default_entity_manager', '@rapsyspack.map_util', '@rapsyspack.path_package', '@router', '@security.helper', '@rapsyspack.slugger_util', '@request_stack', '@translator', '@twig' ]
+        tags: [ 'controller.service_arguments' ]
+    # Register dance controller
+    Rapsys\AirBundle\Controller\DanceController:
+        arguments: [ '@security.authorization_checker', '@service_container', '@rapsysuser.access_decision_manager', '@doctrine', '@rapsysair.facebook_util', '@form.factory', '@rapsyspack.image_util', '@mailer.mailer', '@doctrine.orm.default_entity_manager', '@rapsyspack.map_util', '@rapsyspack.path_package', '@router', '@security.helper', '@rapsyspack.slugger_util', '@request_stack', '@translator', '@twig' ]
+        tags: [ 'controller.service_arguments' ]
+    # Register location controller
+    Rapsys\AirBundle\Controller\LocationController:
+        arguments: [ '@security.authorization_checker', '@service_container', '@rapsysuser.access_decision_manager', '@doctrine', '@rapsysair.facebook_util', '@form.factory', '@rapsyspack.image_util', '@mailer.mailer', '@doctrine.orm.default_entity_manager', '@rapsyspack.map_util', '@rapsyspack.path_package', '@router', '@security.helper', '@rapsyspack.slugger_util', '@request_stack', '@translator', '@twig' ]
+        tags: [ 'controller.service_arguments' ]
+    # Register user controller
+    Rapsys\AirBundle\Controller\UserController:
+        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', '@rapsyspack.slugger_util', '@request_stack', '@translator', '@twig' ]
+        tags: [ 'controller.service_arguments' ]
+    # Register session controller
+    Rapsys\AirBundle\Controller\SessionController:
+        arguments: [ '@security.authorization_checker', '@service_container', '@rapsysuser.access_decision_manager', '@doctrine', '@rapsysair.facebook_util', '@form.factory', '@rapsyspack.image_util', '@mailer.mailer', '@doctrine.orm.default_entity_manager', '@rapsyspack.map_util', '@rapsyspack.path_package', '@router', '@security.helper', '@rapsyspack.slugger_util', '@request_stack', '@translator', '@twig' ]
+        tags: [ 'controller.service_arguments' ]
+    # Register snippet controller
+    Rapsys\AirBundle\Controller\SnippetController:
+        arguments: [ '@security.authorization_checker', '@service_container', '@rapsysuser.access_decision_manager', '@doctrine', '@rapsysair.facebook_util', '@form.factory', '@rapsyspack.image_util', '@mailer.mailer', '@doctrine.orm.default_entity_manager', '@rapsyspack.map_util', '@rapsyspack.path_package', '@router', '@security.helper', '@rapsyspack.slugger_util', '@request_stack', '@translator', '@twig' ]
+        tags: [ 'controller.service_arguments' ]
+    # Register error controller
+    Rapsys\AirBundle\Controller\ErrorController:
+        arguments: [ '@security.authorization_checker', '@service_container', '@rapsysuser.access_decision_manager', '@doctrine', '@rapsysair.facebook_util', '@form.factory', '@rapsyspack.image_util', '@mailer.mailer', '@doctrine.orm.default_entity_manager', '@rapsyspack.map_util', '@rapsyspack.path_package', '@router', '@security.helper', '@rapsyspack.slugger_util', '@request_stack', '@translator', '@twig' ]
+        #arguments: [ '@service_container', '@router', '@translator' ]
+        tags: [ 'controller.service_arguments' ]
+    # Register access denied handler
+    Rapsys\AirBundle\Handler\AccessDeniedHandler:
+        arguments: [ '@security.authorization_checker', '@service_container', '@rapsysuser.access_decision_manager', '@doctrine', '@rapsysair.facebook_util', '@form.factory', '@rapsyspack.image_util', '@mailer.mailer', '@doctrine.orm.default_entity_manager', '@rapsyspack.map_util', '@rapsyspack.path_package', '@router', '@security.helper', '@rapsyspack.slugger_util', '@request_stack', '@translator', '@twig' ]
+    # Register air fixtures
+    Rapsys\AirBundle\DataFixtures\AirFixtures:
+        arguments: [ '@service_container', '@security.user_password_hasher' ]
+        tags: [ 'doctrine.fixture.orm' ]
+    # Register application form
+    Rapsys\AirBundle\Form\ApplicationType:
+        arguments: [ '@doctrine', '@translator' ]
+        tags: [ 'form.type' ]
+    # Register location form
+    Rapsys\AirBundle\Form\LocationType:
+        tags: [ 'form.type' ]
+    # Register session form
+    Rapsys\AirBundle\Form\SessionType:
+        arguments: [ '@doctrine' ]
+        tags: [ 'form.type' ]
+    # Register hidden entity form type
+    Rapsys\AirBundle\Form\Extension\Type\HiddenEntityType:
+        arguments: [ '@doctrine' ]
+        tags: [ 'form.type' ]
+    # Register contact form
+    Rapsys\AirBundle\Form\ContactType:
+        arguments: [ '@rapsyspack.image_util', '@rapsyspack.slugger_util', '@translator' ]
+        tags: [ 'form.type' ]
+    # Register register form
+    Rapsys\AirBundle\Form\RegisterType:
+        arguments: [ '@doctrine.orm.entity_manager' ]
+        tags: [ 'form.type' ]
+    # Register attribute command
+    Rapsys\AirBundle\Command\AttributeCommand:
+        arguments: [ '@doctrine' ]
+        tags: [ 'console.command' ]
+    # Register calendar command
+    Rapsys\AirBundle\Command\CalendarCommand:
+        arguments: [ '@doctrine', '@router', '@rapsyspack.slugger_util', '@translator', 'airlibre', 0, '%kernel.project_dir%/var/cache', '%kernel.default_locale%' ]
+        tags: [ 'console.command' ]
+    # Register calendar2 command
+    Rapsys\AirBundle\Command\Calendar2Command:
+        arguments: [ '@doctrine', '@router', '@rapsyspack.slugger_util', '@translator', '%kernel.default_locale%', '%env(string:GOOGLE_PROJECT)', '%env(string:GOOGLE_CLIENT)', '%env(string:GOOGLE_SECRET)' ]
+        tags: [ 'console.command' ]
+    # Register rekey command
+    Rapsys\AirBundle\Command\RekeyCommand:
+        arguments: [ '@doctrine' ]
+        tags: [ 'console.command' ]
+    # Register weather command
+    Rapsys\AirBundle\Command\WeatherCommand:
+        arguments: [ '@doctrine', '@filesystem' ]
+        tags: [ 'console.command' ]
+    # Register repository factory
+    Rapsys\AirBundle\Factory:
+        arguments: [ '@request_stack', '@router', '@rapsyspack.slugger_util', '@translator', '%kernel.default_locale%', '%rapsysair.languages%' ]
+    # Register facebook util service
+    rapsysair.facebook_util:
+        class: 'Rapsys\PackBundle\Util\FacebookUtil'
+        arguments: [ '@router',  '%kernel.project_dir%/var/cache', '%rapsyspack.path%', 'facebook', '%rapsysair.path%/png/facebook.png', { irishgrover: '%rapsysair.path%/ttf/irishgrover.v10.ttf', labelleaurore: '%rapsysair.path%/ttf/labelleaurore.v10.ttf', dejavusans: '%rapsysair.path%/ttf/dejavusans.2.37.ttf', droidsans: '%rapsysair.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', '%rapsysair.locales%' ]
+        tags: [ 'kernel.event_subscriber' ]
+    # Register dotenv:dump command
+    Symfony\Component\Dotenv\Command\DotenvDumpCommand: ~
+
+# Twig Configuration
+twig:
+    # Enforce debug
+    #auto_reload: ~
+    debug: '%kernel.debug%'
+    #strict_variables: '%kernel.debug%'
+
+    # 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' ]
+
+    # Set twig paths
+    paths:
+        # Required by email.image(site_logo) directive
+        # XXX: Allow twig to resolve @RapsysAir/png/logo.png in vendor/rapsys/airbundle/Resources/public/png/logo.png
+        '%kernel.project_dir%/vendor/rapsys/airbundle/Resources/public': 'RapsysAir'
+    # Override default exception controller
+    #exception_controller: Rapsys\AirBundle\Controller\ErrorController::preview