mirror of
https://github.com/wassname/flask-security.git
synced 2026-08-07 11:22:21 +08:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
07bb00f75c | ||
|
|
9a10be5c90 | ||
|
|
829bb135d7 | ||
|
|
ab64406b6c | ||
|
|
6f68f1d540 | ||
|
|
510c7bfa2a | ||
|
|
67d8134e3a | ||
|
|
7bef96c261 | ||
|
|
7d6b42e960 |
@@ -3,6 +3,16 @@ Flask-Security Changelog
|
||||
|
||||
Here you can see the full list of changes between each Flask-Security release.
|
||||
|
||||
Version 1.6.9
|
||||
-------------
|
||||
|
||||
Released August 20th 2013
|
||||
|
||||
- Fix bug in SQLAlchemy datastore's `get_user` function
|
||||
- Fix bug in PeeWee datastore's `remove_role_from_user` function
|
||||
- Fixed import error caused by new Flask-WTF release
|
||||
|
||||
|
||||
Version 1.6.8
|
||||
-------------
|
||||
|
||||
@@ -12,6 +22,7 @@ Released August 1st 2013
|
||||
- Code cleanup regarding token_callback
|
||||
- Ignore validation errors in find_user function for MongoEngineUserDatastore
|
||||
|
||||
|
||||
Version 1.6.7
|
||||
-------------
|
||||
|
||||
|
||||
+1
-1
@@ -49,7 +49,7 @@ copyright = u'2012, Matt Wright'
|
||||
# built documents.
|
||||
#
|
||||
# The short X.Y version.
|
||||
version = '1.6.8'
|
||||
version = '1.6.9'
|
||||
# The full version, including alpha/beta/rc tags.
|
||||
release = version
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
:license: MIT, see LICENSE for more details.
|
||||
"""
|
||||
|
||||
__version__ = '1.6.8'
|
||||
__version__ = '1.6.9'
|
||||
|
||||
from .core import Security, RoleMixin, UserMixin, AnonymousUser, current_user
|
||||
from .datastore import SQLAlchemyUserDatastore, MongoEngineUserDatastore, PeeweeUserDatastore
|
||||
|
||||
@@ -180,9 +180,20 @@ class SQLAlchemyUserDatastore(SQLAlchemyDatastore, UserDatastore):
|
||||
UserDatastore.__init__(self, user_model, role_model)
|
||||
|
||||
def get_user(self, id_or_email):
|
||||
return (self.user_model.query.get(id_or_email) or
|
||||
self.user_model.query.filter(
|
||||
self.user_model.email.ilike(id_or_email)).first())
|
||||
returned = None
|
||||
if self._is_numeric(id_or_email):
|
||||
returned = self.user_model.query.get(id_or_email)
|
||||
if not returned:
|
||||
returned = self.user_model.query.filter(
|
||||
self.user_model.email.ilike(id_or_email)).first()
|
||||
return returned
|
||||
|
||||
def _is_numeric(self, value):
|
||||
try:
|
||||
int(value)
|
||||
except ValueError:
|
||||
return False
|
||||
return True
|
||||
|
||||
def find_user(self, **kwargs):
|
||||
return self.user_model.query.filter_by(**kwargs).first()
|
||||
@@ -291,8 +302,9 @@ class PeeweeUserDatastore(PeeweeDatastore, UserDatastore):
|
||||
result = self.UserRole.select() \
|
||||
.where(self.UserRole.user == user, self.UserRole.role == role)
|
||||
if result.count():
|
||||
self.UserRole.delete().where(
|
||||
query = self.UserRole.delete().where(
|
||||
self.UserRole.user == user, self.UserRole.role == role)
|
||||
query.execute()
|
||||
return True
|
||||
else:
|
||||
return False
|
||||
|
||||
@@ -15,7 +15,8 @@ import urlparse
|
||||
import flask_wtf as wtf
|
||||
|
||||
from flask import request, current_app
|
||||
from flask_wtf import Form as BaseForm, TextField, PasswordField, \
|
||||
from flask_wtf import Form as BaseForm
|
||||
from wtforms import TextField, PasswordField, validators, \
|
||||
SubmitField, HiddenField, BooleanField, ValidationError, Field
|
||||
from flask_login import current_user
|
||||
from werkzeug.local import LocalProxy
|
||||
@@ -50,19 +51,19 @@ class ValidatorMixin(object):
|
||||
return super(ValidatorMixin, self).__call__(form, field)
|
||||
|
||||
|
||||
class EqualTo(ValidatorMixin, wtf.EqualTo):
|
||||
class EqualTo(ValidatorMixin, validators.EqualTo):
|
||||
pass
|
||||
|
||||
|
||||
class Required(ValidatorMixin, wtf.Required):
|
||||
class Required(ValidatorMixin, validators.Required):
|
||||
pass
|
||||
|
||||
|
||||
class Email(ValidatorMixin, wtf.Email):
|
||||
class Email(ValidatorMixin, validators.Email):
|
||||
pass
|
||||
|
||||
|
||||
class Length(ValidatorMixin, wtf.Length):
|
||||
class Length(ValidatorMixin, validators.Length):
|
||||
pass
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user