diff options
author | Sam | 2013-05-17 20:59:50 +0000 |
---|---|---|
committer | Sam | 2013-05-17 20:59:50 +0000 |
commit | 48ba921c234abb218b14d7f1ae4d5b017ab8d388 (patch) | |
tree | c8614aff3e6013a61eec42b4a52a3db1f9c9272f /wqflask/flask_security/changeable.py | |
parent | 457712ce46beed04126535024daae603dd6136fc (diff) | |
download | genenetwork2-48ba921c234abb218b14d7f1ae4d5b017ab8d388.tar.gz |
Added flask_security locally
Diffstat (limited to 'wqflask/flask_security/changeable.py')
-rw-r--r-- | wqflask/flask_security/changeable.py | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/wqflask/flask_security/changeable.py b/wqflask/flask_security/changeable.py new file mode 100644 index 00000000..4447b655 --- /dev/null +++ b/wqflask/flask_security/changeable.py @@ -0,0 +1,45 @@ +# -*- coding: utf-8 -*- +""" + flask.ext.security.changeable + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + Flask-Security recoverable module + + :copyright: (c) 2012 by Matt Wright. + :author: Eskil Heyn Olsen + :license: MIT, see LICENSE for more details. +""" + +from flask import current_app as app, request +from werkzeug.local import LocalProxy + +from .signals import password_changed +from .utils import send_mail, encrypt_password, url_for_security, \ + config_value + + +# Convenient references +_security = LocalProxy(lambda: app.extensions['security']) + +_datastore = LocalProxy(lambda: _security.datastore) + + +def send_password_changed_notice(user): + """Sends the password changed notice email for the specified user. + + :param user: The user to send the notice to + """ + send_mail(config_value('EMAIL_SUBJECT_PASSWORD_CHANGE_NOTICE'), user.email, + 'change_notice', user=user) + + +def change_user_password(user, password): + """Change the specified user's password + + :param user: The user to change_password + :param password: The unencrypted new password + """ + user.password = encrypt_password(password) + _datastore.put(user) + send_password_changed_notice(user) + password_changed.send(user, app=app._get_current_object()) |