X-Git-Url: https://git.rapsys.eu/.gitweb.cgi/airbundle/blobdiff_plain/85bf92905e55268c73ab7912c4ee137e0c2ef707..6f09590dbd6fbb9634ef9368614d95c27f14af52:/Resources/config/packages/rapsys_air.yaml diff --git a/Resources/config/packages/rapsys_air.yaml b/Resources/config/packages/rapsys_air.yaml index 9b0ada5..8b28a5e 100644 --- a/Resources/config/packages/rapsys_air.yaml +++ b/Resources/config/packages/rapsys_air.yaml @@ -4,22 +4,28 @@ rapsys_air: contact: name: 'Raphaël Gertz' mail: 'airlibre@rapsys.eu' - #Copyright - copy: - long: 'Raphaël Gertz all rights reserved' - short: 'Copyright 2019' #RapsysUser configuration rapsys_user: #Class replacement class: group: 'Rapsys\AirBundle\Entity\Group' - title: 'Rapsys\AirBundle\Entity\Title' + civility: 'Rapsys\AirBundle\Entity\Civility' user: 'Rapsys\AirBundle\Entity\User' + #Default replacement + default: + group: [ 'User' ] + civility: 'Mister' #Route replacement route: index: - name: 'rapsys_air_index' + name: 'rapsys_air' + #Translate replacement + translate: [ 'title', 'site.title', 'copy.by', 'copy.long', 'copy.short' ] + #Languages replacement + languages: + en: 'English' + fr: 'French' #Contact replacement contact: name: '%rapsys_air.contact.name%' @@ -27,100 +33,128 @@ rapsys_user: #Login replacement login: route: - index: 'site_url' + index: 'site.url' view: name: '@RapsysAir/form/login.html.twig' context: title: 'Login' - copy_long: '%rapsys_air.copy.long%' - copy_short: '%rapsys_air.copy.short%' - site_ico: '%rapsys_air.site.ico%' - site_logo: '%rapsys_air.site.logo%' - site_png: '%rapsys_air.site.png%' - site_svg: '%rapsys_air.site.svg%' - site_title: '%rapsys_air.site.title%' + 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%' #Recover replacement recover: route: - index: 'site_url' + index: 'site.url' recover_mail: 'recover_url' view: name: '@RapsysAir/form/recover.html.twig' context: title: 'Recover' - copy_long: '%rapsys_air.copy.long%' - copy_short: '%rapsys_air.copy.short%' - site_ico: '%rapsys_air.site.ico%' - site_logo: '%rapsys_air.site.logo%' - site_png: '%rapsys_air.site.png%' - site_svg: '%rapsys_air.site.svg%' - site_title: '%rapsys_air.site.title%' + 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%' mail: - subject: '%%recipient_name%% welcome back to %%site_title%%' + subject: 'Welcome back %%recipient_name%% to %%site.title%%' html: '@RapsysAir/mail/recover.html.twig' text: '@RapsysAir/mail/recover.text.twig' context: #Mail recover replacement recover_mail: route: - index: 'site_url' + index: 'site.url' recover_mail: 'recover_url' view: name: '@RapsysAir/form/recover_mail.html.twig' context: title: 'Mail recover' - copy_long: '%rapsys_air.copy.long%' - copy_short: '%rapsys_air.copy.short%' - site_ico: '%rapsys_air.site.ico%' - site_logo: '%rapsys_air.site.logo%' - site_png: '%rapsys_air.site.png%' - site_svg: '%rapsys_air.site.svg%' - site_title: '%rapsys_air.site.title%' + 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%' mail: - subject: '%%recipient_name%% welcome back to %%site_title%%' + 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: route: - index: 'site_url' + index: 'site.url' view: form: 'Rapsys\AirBundle\Form\RegisterType' name: '@RapsysAir/form/register.html.twig' context: title: 'Register' - copy_long: '%rapsys_air.copy.long%' - copy_short: '%rapsys_air.copy.short%' - site_ico: '%rapsys_air.site.ico%' - site_logo: '%rapsys_air.site.logo%' - site_png: '%rapsys_air.site.png%' - site_svg: '%rapsys_air.site.svg%' - site_title: '%rapsys_air.site.title%' + 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%' mail: - subject: '%%recipient_name%% welcome to %%site_title%%' + 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: + mapping_types: + enum: string #Orm configuration orm: #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\Title: Rapsys\AirBundle\Entity\Title + Rapsys\UserBundle\Entity\Civility: Rapsys\AirBundle\Entity\Civility Rapsys\UserBundle\Entity\User: Rapsys\AirBundle\Entity\User #Security configuration security: #Set encoders encoders: - Rapsys\AirBundle\Entity\User: plaintext - #Rapsys\AirBundle\Entity\User: - # algorithm: 'bcrypt' + #Rapsys\AirBundle\Entity\User: plaintext + Rapsys\AirBundle\Entity\User: + algorithm: 'bcrypt' #Set providers providers: @@ -151,8 +185,9 @@ security: #Set 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: - use_referer: false + use_referer: true login_path: rapsys_user_login check_path: rapsys_user_login username_parameter: 'login[mail]' @@ -160,8 +195,10 @@ security: #Set logout route logout: - path: /logout - target: / + path: rapsys_user_logout + #XXX: see https://symfony.com/doc/current/security.html#logging-out + success_handler: Rapsys\AirBundle\Security\LogoutSuccessHandler + #target: / #Set custom access denied handler access_denied_handler: Rapsys\AirBundle\Security\AccessDeniedHandler @@ -173,10 +210,23 @@ security: ROLE_SENIOR: [ 'ROLE_USER', 'ROLE_GUEST', 'ROLE_REGULAR' ] ROLE_ADMIN: [ 'ROLE_USER', 'ROLE_GUEST', 'ROLE_REGULAR', 'ROLE_SENIOR' ] -##Framework configuration -#XXX: don't use that shit, it breaks assets._default_package url generation +#Framework configuration +framework: + default_locale: 'fr' + #error_controller: 'Rapsys\AirBundle\Controller\ErrorController::show' + translator: + fallbacks: [ 'fr', 'en' ] + session: + enabled: true + handler_id: ~ + cookie_secure: 'auto' + cookie_samesite: 'lax' + disallow_search_engine_index: false #framework: +# error_controller: Rapsys\AirBundle\Controller\ErrorController::show +# # #Assets configuration +# XXX: don't use that shit, it breaks assets._default_package url generation # assets: # #Set default base path # #base_path: '/bundles/%%s' @@ -186,7 +236,7 @@ security: # version_format: '%%s?v=%%s' # # packages: -# pack_package: +# pack: # base_path: '/bundles/%%s' #Service configuration @@ -204,37 +254,102 @@ services: 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 + 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 + # #class: 'Twig\Extra\Markdown\DefaultMarkdown' + #rapsys_air.twig.markdown_eruse: + # class: 'Twig\Extra\Markdown\DefaultMarkdown' + #rapsys_air.twig.markdown_runtime: + # class: 'Twig\Extra\Markdown\MarkdownRuntime' + # arguments: [ '@rapsys_air.twig.markdown_eruse' ] + #rapsys_air.markdown: + # class: 'Twig\Extra\Markdown\MarkdownExtension' + # tags: [ 'twig.extension' ] + #Register twig pack extension + #rapsys_pack.pack_extension: + # class: 'Rapsys\PackBundle\Twig\PackExtension' + # arguments: [ '@file_locator', '@service_container', '@rapsys_pack.path_package' ] + # tags: [ 'twig.extension' ] + #Register application controller + Rapsys\AirBundle\Controller\ApplicationController: + arguments: [ '@service_container', '@router', '@request_stack', '@translator' ] + tags: [ 'controller.service_arguments' ] #Register default controller Rapsys\AirBundle\Controller\DefaultController: - arguments: [ '@service_container', '@translator', '@router' ] + arguments: [ '@service_container', '@router', '@request_stack', '@translator' ] tags: [ 'controller.service_arguments' ] #Register location controller Rapsys\AirBundle\Controller\LocationController: - arguments: [ '@service_container', '@translator', '@router' ] + arguments: [ '@service_container', '@router', '@request_stack', '@translator' ] + tags: [ 'controller.service_arguments' ] + #Register user controller + Rapsys\AirBundle\Controller\UserController: + arguments: [ '@service_container', '@router', '@request_stack', '@translator' ] + tags: [ 'controller.service_arguments' ] + #Register session controller + Rapsys\AirBundle\Controller\SessionController: + arguments: [ '@service_container', '@router', '@request_stack', '@translator' ] + tags: [ 'controller.service_arguments' ] + #Register snippet controller + Rapsys\AirBundle\Controller\SnippetController: + arguments: [ '@service_container', '@router', '@request_stack', '@translator' ] + tags: [ 'controller.service_arguments' ] + #Register error controller + Rapsys\AirBundle\Controller\ErrorController: + arguments: [ '@service_container', '@router', '@request_stack', '@translator' ] tags: [ 'controller.service_arguments' ] + #Register locale event subscriber + Rapsys\AirBundle\EventSubscriber\LocaleSubscriber: + arguments: [ '@router', '%rapsys_air.locales%' ] + tags: [ 'kernel.event_subscriber' ] #Register access denied handler Rapsys\AirBundle\Security\AccessDeniedHandler: - arguments: [ '@service_container', '@translator', '@twig' ] + arguments: [ '@service_container', '@twig', '@router', '@request_stack', '@translator' ] + #Register logout success handler + Rapsys\AirBundle\Security\LogoutSuccessHandler: + arguments: [ '@router' ] #Register air fixtures Rapsys\AirBundle\DataFixtures\AirFixtures: tags: [ 'doctrine.fixture.orm' ] - #Replace default package - #XXX: set base path to /bundles/ and disable versioning - assets._default_package: - class: 'Rapsys\PackBundle\Asset\PathPackage' - arguments: [ '/bundles/%%s', '@assets.empty_version_strategy', '@assets.context' ] -# arguments: [ '/', '@assets.static_version_strategy', '@assets.context' ] + #Replace assets packages + assets.packages: + class: 'Symfony\Component\Asset\Packages' + arguments: [ '@rapsys_pack.path_package' ] # #Set version strategy # assets.static_version_strategy: # class: Symfony\Component\Asset\VersionStrategy\StaticVersionStrategy # arguments: [ 'x', '%%s?v=%%s' ] + Rapsys\AirBundle\Form\ApplicationType: + arguments: [ '@doctrine', '@translator' ] + tags: [ 'form.type' ] + Rapsys\AirBundle\Form\LocationType: + tags: [ 'form.type' ] + Rapsys\AirBundle\Form\SessionType: + arguments: [ '@doctrine' ] + tags: [ 'form.type' ] + Rapsys\AirBundle\Form\Extension\Type\HiddenEntityType: + arguments: [ '@doctrine' ] + tags: [ 'form.type' ] + Rapsys\AirBundle\Command\AttributeCommand: + arguments: [ '@doctrine' ] + tags: [ 'console.command' ] + Rapsys\AirBundle\Command\WeatherCommand: + arguments: [ '@doctrine' ] + tags: [ 'console.command' ] #Twig Configuration twig: -# #Enforce debug -# debug: true -# auto_reload: ~ -# cache: false + #Enforce debug + #debug: true + #auto_reload: ~ + 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' ] @@ -243,3 +358,5 @@ twig: #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