From 3e0a87314e3df8e94ef316dbdd40db8cb5245606 Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Sun, 8 May 2011 03:17:58 -0400 Subject: [PATCH] Slight improvement, exit recursion as soon a permission hit is found --- apps/permissions/models.py | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/apps/permissions/models.py b/apps/permissions/models.py index 45fa68d10d..f4be0c541d 100644 --- a/apps/permissions/models.py +++ b/apps/permissions/models.py @@ -48,12 +48,10 @@ class Permission(models.Model): else: groups = [] - result = False for membership in list(set(roles) | set(groups)): - result |= self.has_permission(membership) + if self.has_permission(membership): + return True - return result - class PermissionHolder(models.Model): permission = models.ForeignKey(Permission, verbose_name=_(u'permission'))