Make sure iterations on form roles always work

This commit is contained in:
Frédéric Péters 2011-05-04 13:35:40 +02:00
parent ea431393e1
commit 58ecb81051
1 changed files with 8 additions and 8 deletions

View File

@ -84,7 +84,7 @@ class AccessCodeMailer:
def __call__(self, job=None):
count = 0
for user in User.select():
for role_id in self.objectdef.roles:
for role_id in (self.objectdef.roles or []):
if role_id in (user.roles or []):
break
else:
@ -144,7 +144,7 @@ class ParticipantsMailer:
user_ids[object.user_id] = True
for user in User.select():
for role_id in self.objectdef.roles:
for role_id in (self.objectdef.roles or []):
if role_id in (user.roles or []):
break
else:
@ -349,7 +349,7 @@ class DiffusionDirectory(Directory):
search_result = False
user_ids = Set()
for role_id in self.objectdef.roles:
for role_id in (self.objectdef.roles or []):
try:
user_ids_with_role = User.get_ids_with_indexed_value(
'roles', role_id, auto_fallback=False)
@ -388,7 +388,7 @@ class DiffusionDirectory(Directory):
user_ids = Set()
for user_key in keys:
user = User.get(user_key)
for role_id in self.objectdef.roles:
for role_id in (self.objectdef.roles or []):
if role_id in (user.roles or []):
break
else:
@ -482,7 +482,7 @@ class DiffusionDirectory(Directory):
if not user_id:
return redirect('.')
user = User.get(user_id)
for role_id in self.objectdef.roles:
for role_id in (self.objectdef.roles or []):
if role_id in user.roles:
user.roles.remove(role_id)
if not user.roles:
@ -528,7 +528,7 @@ class DiffusionDirectory(Directory):
user.name = name
for role_id in self.objectdef.roles:
for role_id in (self.objectdef.roles or []):
if not role_id in user.roles:
user.roles.append(role_id)
@ -599,7 +599,7 @@ class DiffusionDirectory(Directory):
user.email = email
if len(line) == 2:
user.name = line[1]
for role_id in self.objectdef.roles:
for role_id in (self.objectdef.roles or []):
if not role_id in user.roles:
user.roles.append(role_id)
user.store()
@ -778,7 +778,7 @@ class DiffusionDirectory(Directory):
# this user doesn't exist
continue
touched = False
for role_id in self.objectdef.roles:
for role_id in (self.objectdef.roles or []):
if role_id in user.roles:
user.roles.remove(role_id)
touched = True