aboutsummaryrefslogtreecommitdiff
path: root/server/szurubooru/api
diff options
context:
space:
mode:
authorrr-2018-07-08 10:04:09 +0200
committerrr-2018-07-08 10:10:06 +0200
commitc9cb9aa5394d02582b1a716dd9e52e83391d9bea (patch)
treef9511f9ec54426c70089fab57d23f1ec3f230537 /server/szurubooru/api
parentd85e746a656ca213bad8ce8a725e734990b73f72 (diff)
server/password-reset: try to construct full URL
Diffstat (limited to 'server/szurubooru/api')
-rw-r--r--server/szurubooru/api/password_reset_api.py11
1 files changed, 9 insertions, 2 deletions
diff --git a/server/szurubooru/api/password_reset_api.py b/server/szurubooru/api/password_reset_api.py
index 83afeae..887d2f0 100644
--- a/server/szurubooru/api/password_reset_api.py
+++ b/server/szurubooru/api/password_reset_api.py
@@ -13,7 +13,7 @@ MAIL_BODY = (
@rest.routes.get('/password-reset/(?P<user_name>[^/]+)/?')
def start_password_reset(
- _ctx: rest.Context, params: Dict[str, str]) -> rest.Response:
+ ctx: rest.Context, params: Dict[str, str]) -> rest.Response:
user_name = params['user_name']
user = users.get_user_by_name_or_email(user_name)
if not user.email:
@@ -21,12 +21,19 @@ def start_password_reset(
'User %r hasn\'t supplied email. Cannot reset password.' % (
user_name))
token = auth.generate_authentication_token(user)
- url = '/password-reset/%s:%s' % (user.name, token)
+
+ if 'HTTP_ORIGIN' in ctx.env:
+ url = ctx.env['HTTP_ORIGIN'].rstrip('/')
+ else:
+ url = ''
+ url += '/password-reset/%s:%s' % (user.name, token)
+
mailer.send_mail(
'noreply@%s' % config.config['name'],
user.email,
MAIL_SUBJECT.format(name=config.config['name']),
MAIL_BODY.format(name=config.config['name'], url=url))
+
return {}

© 2015 - 2026 Jakob L. Kreuze