X-Git-Url: https://git.rapsys.eu/airbundle/blobdiff_plain/9a4fd9519332e2056058977a6170f04c4aca2408..4e2dd7b0482d5ac0d7c031afb5b24061da8d1373:/Resources/config/packages/rapsys_air.yaml diff --git a/Resources/config/packages/rapsys_air.yaml b/Resources/config/packages/rapsys_air.yaml index ef9cef9..5863f60 100644 --- a/Resources/config/packages/rapsys_air.yaml +++ b/Resources/config/packages/rapsys_air.yaml @@ -1,9 +1,5 @@ #RapsysAir configuration rapsys_air: - #Contact - contact: - name: 'Raphaël Gertz' - mail: 'airlibre@rapsys.eu' #RapsysUser configuration rapsys_user: @@ -12,24 +8,53 @@ rapsys_user: group: 'Rapsys\AirBundle\Entity\Group' civility: 'Rapsys\AirBundle\Entity\Civility' user: 'Rapsys\AirBundle\Entity\User' + country: 'Rapsys\AirBundle\Entity\Country' #Default replacement default: group: [ 'User' ] civility: 'Mister' + country: 'France' + country_favorites: [ 'France', 'Belgium', 'Germany', 'Italy', 'Luxembourg', 'Portugal', 'Spain', 'Switzerland' ] #Route replacement route: index: name: 'rapsys_air' #Translate replacement - translate: [ 'title', 'site.title', 'copy.by', 'copy.long', 'copy.short' ] + translate: [ 'title', 'password', 'site.title', 'copy.by', 'copy.long', 'copy.short', 'copy.title' ] #Languages replacement languages: - en: 'English' - fr: 'French' + en_gb: 'English' + fr_fr: 'French' #Contact replacement contact: - name: '%rapsys_air.contact.name%' + title: '%rapsys_air.contact.title%' mail: '%rapsys_air.contact.mail%' + #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: + icon: '%rapsys_air.site.icon%' + logo: '%rapsys_air.site.logo%' + png: '%rapsys_air.site.png%' + title: '%rapsys_air.site.title%' + url: '%rapsys_air.site.url%' + #Edit replacement + edit: + field: + pseudonym: false + route: + index: 'site.url' + view: + edit: 'Rapsys\AirBundle\Form\RegisterType' + name: '@RapsysAir/form/edit.html.twig' + context: + title: 'Modify account' + password: 'Modify password' #Login replacement login: route: @@ -38,95 +63,36 @@ rapsys_user: name: '@RapsysAir/form/login.html.twig' context: title: 'Login' - 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' - recover_mail: 'recover_url' + recover: 'recover_url' view: name: '@RapsysAir/form/recover.html.twig' context: title: 'Recover' - 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: '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' - recover_mail: 'recover_url' - view: - name: '@RapsysAir/form/recover_mail.html.twig' - context: - title: 'Mail recover' - 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: '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: + field: + city: false + country: false + phone: false + pseudonym: false + zipcode: false route: index: 'site.url' + confirm: 'confirm_url' view: form: 'Rapsys\AirBundle\Form\RegisterType' name: '@RapsysAir/form/register.html.twig' context: title: 'Register' - 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: 'Welcome %%recipient_name%% to %%site.title%%' html: '@RapsysAir/mail/register.html.twig' @@ -139,19 +105,26 @@ doctrine: dbal: mapping_types: enum: string + #Orm configuration orm: + #Replace repository factory + repository_factory: 'Rapsys\AirBundle\Factory\RepositoryFactory' + #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' #Security configuration security: - #Set encoders - encoders: + #Enable authenticator manager + enable_authenticator_manager: true + + #Set password hashers + password_hashers: #Rapsys\AirBundle\Entity\User: plaintext Rapsys\AirBundle\Entity\User: algorithm: 'bcrypt' @@ -172,10 +145,8 @@ security: main: #Allow anonymous access - anonymous: ~ - - #Disable logout on user change - logout_on_user_change: true + #anonymous: ~ + #lazy: true #Activate database provider provider: database @@ -187,21 +158,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: + #Redirect to referer if different from login route use_referer: true + #Login path login_path: rapsys_user_login + #Check path check_path: rapsys_user_login + #Username parameter username_parameter: 'login[mail]' + #Password parameter password_parameter: 'login[password]' #Set logout route logout: + #Logout route 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 - 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: @@ -212,16 +196,21 @@ security: #Framework configuration framework: - default_locale: 'fr' + default_locale: 'fr_fr' #error_controller: 'Rapsys\AirBundle\Controller\ErrorController::show' translator: - fallbacks: [ 'fr', 'en' ] + fallbacks: [ 'fr_fr', 'en_gb' ] session: enabled: true handler_id: ~ + storage_factory_id: 'session.storage.factory.native' cookie_secure: 'auto' cookie_samesite: 'lax' disallow_search_engine_index: false + mailer: + headers: + X-Originating-IP: '%env(REMOTE_ADDR)%' + secret: '%env(APP_SECRET)%' #framework: # error_controller: Rapsys\AirBundle\Controller\ErrorController::show # @@ -243,23 +232,23 @@ framework: 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 - 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 - 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 - 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 @@ -279,53 +268,52 @@ services: # tags: [ 'twig.extension' ] #Register application controller Rapsys\AirBundle\Controller\ApplicationController: - arguments: [ '@service_container', '@router', '@request_stack', '@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', '@rapsys_pack.slugger_util', '@request_stack', '@translator' ] tags: [ 'controller.service_arguments' ] #Register calendar controller Rapsys\AirBundle\Controller\CalendarController: - arguments: [ '@service_container', '@router', '@request_stack', '@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', '@rapsys_pack.slugger_util', '@request_stack', '@translator' ] tags: [ 'controller.service_arguments' ] #Register default controller Rapsys\AirBundle\Controller\DefaultController: - arguments: [ '@service_container', '@router', '@request_stack', '@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', '@rapsys_pack.slugger_util', '@request_stack', '@translator' ] + 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', '@rapsys_pack.slugger_util', '@request_stack', '@translator' ] tags: [ 'controller.service_arguments' ] #Register location controller Rapsys\AirBundle\Controller\LocationController: - arguments: [ '@service_container', '@router', '@request_stack', '@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', '@rapsys_pack.slugger_util', '@request_stack', '@translator' ] tags: [ 'controller.service_arguments' ] #Register user controller Rapsys\AirBundle\Controller\UserController: - arguments: [ '@service_container', '@router', '@request_stack', '@translator' ] + arguments: [ '@service_container', '@doctrine', '@security.user_password_hasher', '@logger', '@mailer.mailer', '@doctrine.orm.default_entity_manager', '@router', '@rapsys_pack.slugger_util', '@request_stack', '@translator' ] tags: [ 'controller.service_arguments' ] #Register session controller Rapsys\AirBundle\Controller\SessionController: - arguments: [ '@service_container', '@router', '@request_stack', '@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', '@rapsys_pack.slugger_util', '@request_stack', '@translator' ] tags: [ 'controller.service_arguments' ] #Register snippet controller Rapsys\AirBundle\Controller\SnippetController: - arguments: [ '@service_container', '@router', '@request_stack', '@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', '@rapsys_pack.slugger_util', '@request_stack', '@translator' ] tags: [ 'controller.service_arguments' ] #Register error controller Rapsys\AirBundle\Controller\ErrorController: - arguments: [ '@service_container', '@router', '@request_stack', '@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', '@rapsys_pack.slugger_util', '@request_stack', '@translator' ] + #arguments: [ '@service_container', '@router', '@translator' ] tags: [ 'controller.service_arguments' ] #Register locale event subscriber - Rapsys\AirBundle\EventSubscriber\LocaleSubscriber: - arguments: [ '@router', '%rapsys_air.locales%' ] - tags: [ 'kernel.event_subscriber' ] + #TODO: remove that shit now ??? + #Rapsys\AirBundle\EventSubscriber\LocaleSubscriber: + # arguments: [ '@router', '%rapsys_air.locales%' ] + # tags: [ 'kernel.event_subscriber' ] #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', '@rapsys_pack.slugger_util', '@request_stack', '@translator' ] #Register air fixtures Rapsys\AirBundle\DataFixtures\AirFixtures: tags: [ 'doctrine.fixture.orm' ] - #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 @@ -341,21 +329,46 @@ services: 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\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\WeatherCommand: + Rapsys\AirBundle\Command\RekeyCommand: arguments: [ '@doctrine' ] tags: [ 'console.command' ] + Rapsys\AirBundle\Command\WeatherCommand: + arguments: [ '@doctrine', '@filesystem' ] + tags: [ 'console.command' ] + Rapsys\AirBundle\Factory\RepositoryFactory: + arguments: [ '@router', '@rapsys_pack.slugger_util', '@translator', '%rapsys_air.languages%', '%kernel.default_locale%' ] + #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 #debug: true #auto_reload: ~ + #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