do_flash(*get_message('PASSWORD_RESET_REQUEST', email=form.user.email)) if request.json and not has_error: return _render_json(form, include_user=False) return _security.render_template( config_value('FORGOT_PASSWORD_TEMPLATE'), forgot_password_form=form, **_ctx('forgot_password')) # We are not in app context so cannot use url_for('browser.forgot_password') # So hard code the url '/browser/reset_password' while passing as # parameter to slash_url_suffix function. @blueprint.route('/reset_password' + slash_url_suffix('/browser/reset_password', '<token>'), methods=['GET', 'POST'], endpoint='reset_password') @anonymous_user_required def reset_password(token): """View function that handles a reset password request.""" expired, invalid, user = reset_password_token_status(token) if invalid: do_flash(*get_message('INVALID_RESET_PASSWORD_TOKEN')) if expired: do_flash(*get_message('PASSWORD_RESET_EXPIRED', email=user.email, within=_security.reset_password_within)) if invalid or expired:
if request.json and not has_error: return _render_json(form, include_user=False) return _security.render_template( config_value('FORGOT_PASSWORD_TEMPLATE'), forgot_password_form=form, **_ctx('forgot_password')) # We are not in app context so cannot use # url_for('browser.forgot_password') # So hard code the url '/browser/reset_password' while passing as # parameter to slash_url_suffix function. @blueprint.route( '/reset_password' + slash_url_suffix( '/browser/reset_password', '<token>' ), methods=['GET', 'POST'], endpoint='reset_password' ) @anonymous_user_required def reset_password(token): """View function that handles a reset password request.""" expired, invalid, user = reset_password_token_status(token) if invalid: do_flash(*get_message('INVALID_RESET_PASSWORD_TOKEN')) if expired: do_flash(*get_message('PASSWORD_RESET_EXPIRED', email=user.email, within=_security.reset_password_within))