1
0
mirror of https://github.com/django/django.git synced 2025-07-05 02:09:13 +00:00

[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
This commit is contained in:
Christopher Long 2006-09-12 15:55:49 +00:00
parent 00972e69b6
commit 43260cfbf2

View File

@ -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):