[#7839] handle weird data if there's no role.name; refactor
diff --git a/Allura/allura/app.py b/Allura/allura/app.py
index 22190e6..ded5c59 100644
--- a/Allura/allura/app.py
+++ b/Allura/allura/app.py
@@ -989,11 +989,14 @@
new_groups = map(get_role, new_group_ids)
del_groups = map(get_role, del_group_ids)
+ def group_names(groups):
+ return ', '.join((role.name or '<Unnamed>') for role in groups if role)
+
if new_groups or del_groups:
model.AuditLog.log('updated "%s" permission: "%s" => "%s" for %s' % (
perm,
- ', '.join(map(lambda role: role.name, filter(None, groups + del_groups))),
- ', '.join(map(lambda role: role.name, filter(None, groups + new_groups))),
+ group_names(groups + del_groups),
+ group_names(groups + new_groups),
self.app.config.options['mount_point']))
role_ids = map(ObjectId, group_ids + new_group_ids)