From 5506da78ddefa92ca7cf45581d70f40254c34e9e Mon Sep 17 00:00:00 2001 From: Alexander Menshchikov Date: Sun, 17 Sep 2023 19:04:36 +0300 Subject: [PATCH] Fix password resetting (#76) + some minor improvements --- .env.dist | 5 + shared/homeless/assets/css/style.css | 2 +- shared/homeless/composer.json | 30 +++-- shared/homeless/composer.lock | 5 +- shared/homeless/config/packages/mailer.php | 13 ++ shared/homeless/config/packages/security.php | 2 +- .../homeless/config/packages/sonata_user.php | 4 +- .../CRUD/base_list.html.twig | 2 - .../Security/Resetting/checkEmail.html.twig | 26 ++++ .../Admin/Security/Resetting/email.html.twig | 11 ++ .../Security/Resetting/request.html.twig | 16 +++ .../Admin/Security/Resetting/reset.html.twig | 16 +++ .../Admin/Security/login.html.twig | 123 ++++++++---------- .../SonataUserBundle+intl-icu.ru.yml | 27 ++++ .../translations/SonataUserBundle.ru.yml | 9 -- 15 files changed, 190 insertions(+), 101 deletions(-) create mode 100644 shared/homeless/config/packages/mailer.php create mode 100644 shared/homeless/templates/bundles/SonataUserBundle/Admin/Security/Resetting/checkEmail.html.twig create mode 100644 shared/homeless/templates/bundles/SonataUserBundle/Admin/Security/Resetting/email.html.twig create mode 100644 shared/homeless/templates/bundles/SonataUserBundle/Admin/Security/Resetting/request.html.twig create mode 100644 shared/homeless/templates/bundles/SonataUserBundle/Admin/Security/Resetting/reset.html.twig create mode 100644 shared/homeless/translations/SonataUserBundle+intl-icu.ru.yml delete mode 100644 shared/homeless/translations/SonataUserBundle.ru.yml diff --git a/.env.dist b/.env.dist index f2317738..c5471827 100644 --- a/.env.dist +++ b/.env.dist @@ -6,6 +6,11 @@ APP_VER=${MKS_VERSION} TRUSTED_PROXIES='127.0.0.1' TRUSTED_HOSTS='^your\.domain$' +MAILER_DSN="smtp://localhost" + +SONATA_RESETTING_ADDRESS="sonata@localhost" +SONATA_RESETTING_SENDER="Sonata Admin" + LOGO_PATH='/render/logo.png' BIG_LOGO_PATH='/render/logo_big.png' diff --git a/shared/homeless/assets/css/style.css b/shared/homeless/assets/css/style.css index e8a0e448..3aeeb907 100644 --- a/shared/homeless/assets/css/style.css +++ b/shared/homeless/assets/css/style.css @@ -270,7 +270,7 @@ input#filter_search_value { .skin-black .main-header > .logo { padding: 0; - line-height: 47px; + line-height: 50px; } .skin-black .main-header > .logo img { diff --git a/shared/homeless/composer.json b/shared/homeless/composer.json index 71786335..a6dedfab 100644 --- a/shared/homeless/composer.json +++ b/shared/homeless/composer.json @@ -4,6 +4,7 @@ "type": "project", "require": { "php": ">=8.2", + "ext-intl": "*", "doctrine/doctrine-bundle": "^2.0", "doctrine/doctrine-migrations-bundle": "^3.0", "doctrine/migrations": "^3.0", @@ -26,19 +27,20 @@ "sonata-project/translation-bundle": "^3.0", "sonata-project/user-bundle": "^5.0", "symfony/apache-pack": "^1.0", - "symfony/asset": "^6.0", - "symfony/cache": "^6.0", - "symfony/config": "^6.0", - "symfony/console": "^6.0", - "symfony/dependency-injection": "^6.0", + "symfony/asset": "~6.3.0", + "symfony/cache": "~6.3.0", + "symfony/config": "~6.3.0", + "symfony/console": "~6.3.0", + "symfony/dependency-injection": "~6.3.0", "symfony/flex": "^1.19", - "symfony/framework-bundle": "^6.0", - "symfony/http-kernel": "^6.0", + "symfony/framework-bundle": "~6.3.0", + "symfony/http-kernel": "~6.3.0", + "symfony/mailer": "~6.3.0", "symfony/monolog-bundle": "^3.0", - "symfony/runtime": "^6.0", - "symfony/templating": "^6.0", - "symfony/twig-bundle": "^6.0", - "symfony/web-link": "^6.0", + "symfony/runtime": "~6.3.0", + "symfony/templating": "~6.3.0", + "symfony/twig-bundle": "~6.3.0", + "symfony/web-link": "~6.3.0", "symfony/webpack-encore-bundle": "^v2.0.1", "twbs/bootstrap-sass": "^3.3", "twig/extra-bundle": "^3.5", @@ -47,10 +49,10 @@ "vich/uploader-bundle": "^2.1" }, "require-dev": { - "symfony/dotenv": "^6.0", + "symfony/dotenv": "~6.3.0", "symfony/maker-bundle": "^1.0", - "symfony/var-dumper": "^6.0", - "symfony/web-profiler-bundle": "^6.0" + "symfony/var-dumper": "~6.3.0", + "symfony/web-profiler-bundle": "~6.3.0" }, "replace": { "symfony/polyfill-ctype": "*", diff --git a/shared/homeless/composer.lock b/shared/homeless/composer.lock index b9b20d58..d83372f2 100644 --- a/shared/homeless/composer.lock +++ b/shared/homeless/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "c11295a948242ac418c2a95345d0ac39", + "content-hash": "bbb60634f247deac4766cc193424c976", "packages": [ { "name": "doctrine/cache", @@ -10410,7 +10410,8 @@ "prefer-stable": false, "prefer-lowest": false, "platform": { - "php": ">=8.2" + "php": ">=8.2", + "ext-intl": "*" }, "platform-dev": [], "plugin-api-version": "2.6.0" diff --git a/shared/homeless/config/packages/mailer.php b/shared/homeless/config/packages/mailer.php new file mode 100644 index 00000000..e136b51f --- /dev/null +++ b/shared/homeless/config/packages/mailer.php @@ -0,0 +1,13 @@ +mailer(); + $mailer->dsn('%env(MAILER_DSN)%'); +}; diff --git a/shared/homeless/config/packages/security.php b/shared/homeless/config/packages/security.php index 04cac820..5f2fa5df 100644 --- a/shared/homeless/config/packages/security.php +++ b/shared/homeless/config/packages/security.php @@ -38,7 +38,7 @@ $mainFirewall->switchUser(); $security->accessControl() - ->path('^/(login|resetting|app/version)$') + ->path('^/((login|app/version)$|resetting)') ->roles(AuthenticatedVoter::PUBLIC_ACCESS) ; $security->accessControl() diff --git a/shared/homeless/config/packages/sonata_user.php b/shared/homeless/config/packages/sonata_user.php index 93900fd5..345f5f55 100644 --- a/shared/homeless/config/packages/sonata_user.php +++ b/shared/homeless/config/packages/sonata_user.php @@ -19,7 +19,7 @@ $resetting = $sonataUser->resetting(); $resetting->email() - ->address('sonata@localhost') - ->senderName('Sonata Admin') + ->address('%env(SONATA_RESETTING_ADDRESS)%') + ->senderName('%env(SONATA_RESETTING_SENDER)%') ; }; diff --git a/shared/homeless/templates/bundles/SonataAdminBundle/CRUD/base_list.html.twig b/shared/homeless/templates/bundles/SonataAdminBundle/CRUD/base_list.html.twig index c8268d3a..7c0e3a3b 100644 --- a/shared/homeless/templates/bundles/SonataAdminBundle/CRUD/base_list.html.twig +++ b/shared/homeless/templates/bundles/SonataAdminBundle/CRUD/base_list.html.twig @@ -211,5 +211,3 @@ {% endif %} {% endblock %} - - diff --git a/shared/homeless/templates/bundles/SonataUserBundle/Admin/Security/Resetting/checkEmail.html.twig b/shared/homeless/templates/bundles/SonataUserBundle/Admin/Security/Resetting/checkEmail.html.twig new file mode 100644 index 00000000..c9fc13c3 --- /dev/null +++ b/shared/homeless/templates/bundles/SonataUserBundle/Admin/Security/Resetting/checkEmail.html.twig @@ -0,0 +1,26 @@ +{% extends '@!SonataUser/Admin/Security/Resetting/checkEmail.html.twig' %} + +{% block sonata_wrapper %} +
+ {% block login_box_header %} + + {% endblock %} + +
+{% endblock sonata_wrapper %} diff --git a/shared/homeless/templates/bundles/SonataUserBundle/Admin/Security/Resetting/email.html.twig b/shared/homeless/templates/bundles/SonataUserBundle/Admin/Security/Resetting/email.html.twig new file mode 100644 index 00000000..de5c7afa --- /dev/null +++ b/shared/homeless/templates/bundles/SonataUserBundle/Admin/Security/Resetting/email.html.twig @@ -0,0 +1,11 @@ +{% block subject %} +{%- autoescape false -%} +{{ 'resetting.email.subject'|trans({'username': user.username}, 'SonataUserBundle') }} +{%- endautoescape -%} +{% endblock %} + +{% block body_text %} +{% autoescape false %} +{{ 'resetting.email.message'|trans({'username': user.username, 'confirmationUrl': confirmationUrl}, 'SonataUserBundle') }} +{% endautoescape %} +{% endblock %} diff --git a/shared/homeless/templates/bundles/SonataUserBundle/Admin/Security/Resetting/request.html.twig b/shared/homeless/templates/bundles/SonataUserBundle/Admin/Security/Resetting/request.html.twig new file mode 100644 index 00000000..3e7a4b9a --- /dev/null +++ b/shared/homeless/templates/bundles/SonataUserBundle/Admin/Security/Resetting/request.html.twig @@ -0,0 +1,16 @@ +{% extends '@!SonataUser/Admin/Security/Resetting/request.html.twig' %} + +{% block login_box_header %} + +{% endblock %} diff --git a/shared/homeless/templates/bundles/SonataUserBundle/Admin/Security/Resetting/reset.html.twig b/shared/homeless/templates/bundles/SonataUserBundle/Admin/Security/Resetting/reset.html.twig new file mode 100644 index 00000000..f3330316 --- /dev/null +++ b/shared/homeless/templates/bundles/SonataUserBundle/Admin/Security/Resetting/reset.html.twig @@ -0,0 +1,16 @@ +{% extends '@!SonataUser/Admin/Security/Resetting/reset.html.twig' %} + +{% block login_box_header %} + +{% endblock %} diff --git a/shared/homeless/templates/bundles/SonataUserBundle/Admin/Security/login.html.twig b/shared/homeless/templates/bundles/SonataUserBundle/Admin/Security/login.html.twig index 05526d18..76dcd9e7 100644 --- a/shared/homeless/templates/bundles/SonataUserBundle/Admin/Security/login.html.twig +++ b/shared/homeless/templates/bundles/SonataUserBundle/Admin/Security/login.html.twig @@ -1,75 +1,58 @@ -{% extends base_template %} - -{% block sonata_nav %} -{% endblock sonata_nav %} - -{% block logo %} -{% endblock logo %} - -{% block sonata_left_side %} -{% endblock sonata_left_side %} - -{% block body_attributes %}class="sonata-bc login-page"{% endblock %} - -{% block sonata_wrapper %} - -
-