Mercurial > p > roundup > code
diff templates/classic/detectors/userauditor.py @ 3873:4d1928ce993e
more small userauditor changes and a unittest
- changes the "roles" loop per alex's suggestion
- figured out (I think) why vim wasn't obeying the modeline and
corrected it
- removed trailing whitespace per alex
- synchronized classic/minimal templates (boy I wish CVS allowed symlinks)
- added unit tests for userauditor.py: checks timezone, email, and role
handling
| author | Justus Pendleton <jpend@users.sourceforge.net> |
|---|---|
| date | Fri, 31 Aug 2007 15:57:47 +0000 |
| parents | d6bab60f9ca4 |
| children | 4c8d853017f2 |
line wrap: on
line diff
--- a/templates/classic/detectors/userauditor.py Fri Aug 31 15:44:03 2007 +0000 +++ b/templates/classic/detectors/userauditor.py Fri Aug 31 15:57:47 2007 +0000 @@ -18,21 +18,20 @@ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE # SOFTWARE. # -#$Id: userauditor.py,v 1.4 2007-08-30 00:31:15 jpend Exp $ +#$Id: userauditor.py,v 1.5 2007-08-31 15:57:47 jpend Exp $ def audit_user_fields(db, cl, nodeid, newvalues): ''' Make sure user properties are valid. - email address has no spaces in it - roles specified exist + - timezone is valid ''' if newvalues.has_key('address') and ' ' in newvalues['address']: raise ValueError, 'Email address must not contain spaces' - if newvalues.has_key('roles') and newvalues['roles']: - roles = [x.lower().strip() for x in newvalues['roles'].split(',')] - for rolename in roles: - if not db.security.role.has_key(rolename): + for rolename in newvalues.get('roles', '').split(','): + if rolename and not db.security.role.has_key(rolename.lower().strip()): raise ValueError, 'Role "%s" does not exist'%rolename if newvalues.has_key('timezone'): @@ -53,5 +52,6 @@ def init(db): # fire before changes are made db.user.audit('set', audit_user_fields) - db.user.audit('create', audit_user_fields) -# vim: set filetype=python ts=4 sw=4 et si + db.user.audit('create', audit_user_fields) + +# vim: filetype=python ts=4 sw=4 et si
