Merge branch 'develop'

This commit is contained in:
Matt Wright
2013-08-20 12:35:12 -04:00
3 changed files with 33 additions and 9 deletions
+11
View File
@@ -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
-------------
+16 -4
View File
@@ -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
+6 -5
View File
@@ -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