1+ # Copyright (c) 2003 Richard Jones ([email protected] ) 2+ #
3+ # Permission is hereby granted, free of charge, to any person obtaining a copy
4+ # of this software and associated documentation files (the "Software"), to deal
5+ # in the Software without restriction, including without limitation the rights
6+ # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7+ # copies of the Software, and to permit persons to whom the Software is
8+ # furnished to do so, subject to the following conditions:
9+ #
10+ # The above copyright notice and this permission notice shall be included in
11+ # all copies or substantial portions of the Software.
12+ #
13+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14+ # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15+ # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16+ # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17+ # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18+ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
19+ # SOFTWARE.
20+ #
21+
122import re
223
324# regular expression thanks to: http://www.regular-expressions.info/email.html
@@ -37,7 +58,6 @@ def audit_user_fields(db, cl, nodeid, newvalues):
3758
3859 for address in get_addresses (newvalues ):
3960 if not valid_address (address ):
40- print newvalues
4161 raise ValueError , 'Email address syntax is invalid "%s"' % address
4262
4363 check_main = db .user .stringFind (address = address )
@@ -46,7 +66,9 @@ def audit_user_fields(db, cl, nodeid, newvalues):
4666 if check_main or check_alts :
4767 raise ValueError , 'Email address %s already in use' % address
4868
49- for rolename in [r .lower ().strip () for r in newvalues .get ('roles' , '' ).split (',' )]:
69+ newroles = newvalues .get ('roles' )
70+ if newroles :
71+ for rolename in [r .lower ().strip () for r in newroles .split (',' )]:
5072 if rolename and not db .security .role .has_key (rolename ):
5173 raise ValueError , 'Role "%s" does not exist' % rolename
5274
@@ -69,3 +91,5 @@ def init(db):
6991 # fire before changes are made
7092 db .user .audit ('set' , audit_user_fields )
7193 db .user .audit ('create' , audit_user_fields )
94+
95+ # vim: sts=4 sw=4 et si
0 commit comments