diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index e910649..8edc0d6 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -13,15 +13,9 @@ repos: hooks: - id: black files: ^backend/ - args: - - --check - - --diff - repo: https://github.com/pycqa/isort rev: 7.0.0 hooks: - id: isort files: ^backend/ - args: - - --check-only - - --diff diff --git a/backend/backlog_app/servicies/authentification/user_manager.py b/backend/backlog_app/servicies/authentification/user_manager.py index d0a9768..57aba56 100644 --- a/backend/backlog_app/servicies/authentification/user_manager.py +++ b/backend/backlog_app/servicies/authentification/user_manager.py @@ -31,10 +31,10 @@ async def on_after_request_verify( token, ) - origin = request.headers.get("origin") or settings.FRONTEND_URL + origin = request.headers.get("origin") logger.debug("origin url: %s", origin) - verification_link = f"{origin}/verify?token={token}" + verification_link = f"{origin}/email-verified?token={token}" await email_task.send_verification_email.kiq( user_email=user.email, verification_link=verification_link, @@ -43,8 +43,11 @@ async def on_after_request_verify( async def on_after_verify(self, user: User, request: Optional["Request"] = None): logger.warning("User <%s> has been verified", user.id) + origin = request.headers.get("origin") + login_link = f"{origin}/login" + await email_task.send_email_confirmed.kiq( - user_email=user.email, + user_email=user.email, login_link=login_link ) async def on_after_login( @@ -64,7 +67,7 @@ async def on_after_forgot_password( token, self.reset_password_token_lifetime_seconds, ) - origin = request.headers.get("origin") or settings.FRONTEND_URL + origin = request.headers.get("origin") reset_link = f"{origin}/reset-password?token={token}" token_lifetime = format_seconds_for_email( self.reset_password_token_lifetime_seconds diff --git a/backend/backlog_app/tasks/email_task.py b/backend/backlog_app/tasks/email_task.py index 6a46bfb..6942b09 100644 --- a/backend/backlog_app/tasks/email_task.py +++ b/backend/backlog_app/tasks/email_task.py @@ -10,18 +10,18 @@ async def send_verification_email( user_email: str, verification_link: str, ) -> None: - subject = "Confirm your email" + subject = "Подтверждение регистрации на сайте backlog-movie.ru" - plain_content = dedent(f"""\ - Dear {user_email}, - Please verify your email for site.com at {verification_link}. + plain_content = dedent( + f"""\ + Здравствуйте! + Пожалуйста, подтвердите ваш адрес электронной почты на сайте backlog-movie.ru, перейдя по ссылке: {verification_link} - Your site admin, - 2025 - """) + Администрация backlog-movie.ru + """ + ) template = templates.get_template("email-verify/verification-request.html") context = { - "user_email": user_email, "verification_link": verification_link, } html_content = template.render(context) @@ -37,17 +37,20 @@ async def send_verification_email( @broker.task async def send_email_confirmed( user_email: str, + login_link: str, ): - subject = "Email Confirmed" + subject = "Адрес электронной почты успешно подтверждён" + + plain_content = dedent( + f"""\ + Здравствуйте! + Ваш адрес электронной почты успешно подтверждён. - plain_content = dedent(f"""\ - Dear {user_email}, - Your email has been confirmed. - Your site admin, - 2025""") + Администрация backlog-movie.ru""" + ) template = templates.get_template("email-verify/email-verified.html") context = { - "user_email": user_email, + "login_link": login_link, } html_content = template.render(context) @@ -63,16 +66,16 @@ async def send_email_confirmed( async def send_email_forgot_password( user_email: str, reset_link: str, token_lifetime: str ): - subject = "Request for change password" - plain_content = dedent(f"""\ - Dear {user_email}, - We get your request for change password. - Link for change: {reset_link} - Your site admin, - 2025""") + subject = "Запрос на сброс пароля на сайте backlog-movie.ru" + plain_content = dedent( + f"""\ + Здравствуйте! + Мы получили запрос на сброс пароля. Перейдите по ссылке, чтобы задать новый пароль: {reset_link} + + Администрация backlog-movie.ru""" + ) template = templates.get_template("email-forgot/password-reset-request.html") context = { - "user_email": user_email, "reset_link": reset_link, "expires_in": token_lifetime, } @@ -90,17 +93,16 @@ async def send_email_forgot_password( async def send_email_forgot_password_confirmed( user_email: str, ): - subject = "Password reset request confirmed" - plain_content = dedent(f"""\ - Dear {user_email}, - Your password reset request has been confirmed. - Your site admin, - 2025""") + subject = "Пароль был успешно изменён" + plain_content = dedent( + f"""\ + Здравствуйте! + Ваш пароль был успешно изменён. + + Администрация backlog-movie.ru""" + ) template = templates.get_template("email-forgot/password-reset-confirmed.html") - context = { - "user_email": user_email, - } - html_content = template.render(context) + html_content = template.render() await send_email( recipient=user_email, diff --git a/backend/backlog_app/templates/email-forgot/password-reset-confirmed.html b/backend/backlog_app/templates/email-forgot/password-reset-confirmed.html index a54c383..5c005de 100644 --- a/backend/backlog_app/templates/email-forgot/password-reset-confirmed.html +++ b/backend/backlog_app/templates/email-forgot/password-reset-confirmed.html @@ -1,7 +1,7 @@ {% extends 'base.html' %} {% block title %} - Password successfully changed + Пароль успешно изменён {% endblock %} {% block main %} @@ -17,7 +17,7 @@