From 43260cfbf2d9f42f66ad60110152fc9cece27908 Mon Sep 17 00:00:00 2001 From: Christopher Long Date: Tue, 12 Sep 2006 15:55:49 +0000 Subject: [per-object-permissions] Fixes MySQL error caused by when a user is not a member of a group git-svn-id: http://code.djangoproject.com/svn/django/branches/per-object-permissions@3753 bcc190cf-cafb-0310-a4f2-bffc1f526a37 --- django/contrib/auth/models.py | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/django/contrib/auth/models.py b/django/contrib/auth/models.py index 44ac167020..1210bf0544 100644 --- a/django/contrib/auth/models.py +++ b/django/contrib/auth/models.py @@ -80,12 +80,15 @@ class RowLevelPermissionManager(models.Manager): owner_id=user.id, permission=perm.id, model_ct=model_ct ).values('model_id') - user_group_list = [g['id'] for g in user.groups.select_related().values('id')] - group_model_ids = RowLevelPermission.objects.filter(owner_ct=ContentType.objects.get_for_model(Group).id, - owner_id__in=user_group_list, - model_ct = model_ct - ).values('model_id') - id_list = [o['model_id'] for o in user_model_ids] + [o['model_id'] for o in group_model_ids] + id_list = [o['model_id'] for o in user_model_ids] + + user_group_list = [g['id'] for g in user.groups.select_related().values('id')] + if user_group_list: + group_model_ids = RowLevelPermission.objects.filter(owner_ct=ContentType.objects.get_for_model(Group).id, + owner_id__in=user_group_list, + model_ct = model_ct + ).values('model_id') + id_list.append([o['model_id'] for o in group_model_ids]) return id_list class RowLevelPermission(models.Model): -- cgit v1.2.1