Mercurial > p > roundup > code
diff templates/minimal/detectors/userauditor.py @ 3874:4c8d853017f2
strip rolename & fix rolename unittest
- strip the rolename earlier in processing so we handle pure-whitespace
- change modeline per alex's suggestion
- add unittest for all-white space roles
- somehow I managed to check in a broken unittest previously. add in
the user lookup so it works.
| author | Justus Pendleton <jpend@users.sourceforge.net> |
|---|---|
| date | Fri, 31 Aug 2007 17:45:17 +0000 |
| parents | 4d1928ce993e |
| children | 4fcf7a52767e |
line wrap: on
line diff
--- a/templates/minimal/detectors/userauditor.py Fri Aug 31 15:57:47 2007 +0000 +++ b/templates/minimal/detectors/userauditor.py Fri Aug 31 17:45:17 2007 +0000 @@ -18,7 +18,7 @@ # 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-31 15:57:47 jpend Exp $ +#$Id: userauditor.py,v 1.5 2007-08-31 17:45:17 jpend Exp $ def audit_user_fields(db, cl, nodeid, newvalues): ''' Make sure user properties are valid. @@ -30,8 +30,8 @@ if newvalues.has_key('address') and ' ' in newvalues['address']: raise ValueError, 'Email address must not contain spaces' - for rolename in newvalues.get('roles', '').split(','): - if rolename and not db.security.role.has_key(rolename.lower().strip()): + for rolename in [r.lower().strip() for r in newvalues.get('roles', '').split(',')]: + if rolename and not db.security.role.has_key(rolename): raise ValueError, 'Role "%s" does not exist'%rolename if newvalues.has_key('timezone'): @@ -54,4 +54,4 @@ db.user.audit('set', audit_user_fields) db.user.audit('create', audit_user_fields) -# vim: filetype=python ts=4 sw=4 et si +# vim: sts=4 sw=4 et si
