From b7aa4b36d0e30971eb362c811c87545dd4d33aa8 Mon Sep 17 00:00:00 2001 From: Lance Edgar Date: Thu, 15 Jan 2015 01:40:00 -0600 Subject: [PATCH] Add unique username check when creating users. --- tailbone/views/users.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/tailbone/views/users.py b/tailbone/views/users.py index 52683c99..69f5e4cd 100644 --- a/tailbone/views/users.py +++ b/tailbone/views/users.py @@ -27,7 +27,7 @@ User Views from __future__ import unicode_literals -from formalchemy import Field +from formalchemy import Field, ValidationError from formalchemy.fields import SelectFieldRenderer from edbob.pyramid.views import users @@ -168,6 +168,12 @@ class UserCrud(CrudView): fs.active, ]) + if self.creating: + def valid_username(value, field): + if Session.query(User).filter_by(username=value).count(): + raise ValidationError("Username must be unique.") + fs.username.set(validate=valid_username) + if self.readonly: del fs.password del fs.confirm_password