Django

Code

Changeset 3753

Show
Ignore:
Timestamp:
09/12/06 10:55:49 (2 years ago)
Author:
clong
Message:

[per-object-permissions] Fixes MySQL error caused by when a user is not a member of a group

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • django/branches/per-object-permissions/django/contrib/auth/models.py

    r3752 r3753  
    8181                                          model_ct=model_ct 
    8282                                          ).values('model_id')    
    83         user_group_list = [g['id'] for g in user.groups.select_related().values('id')] 
    84         group_model_ids = RowLevelPermission.objects.filter(owner_ct=ContentType.objects.get_for_model(Group).id, 
    85                                           owner_id__in=user_group_list, 
    86                                           model_ct = model_ct 
    87                                           ).values('model_id') 
    88         id_list = [o['model_id'] for o in user_model_ids] + [o['model_id'] for o in group_model_ids] 
     83        id_list = [o['model_id'] for o in user_model_ids]         
     84         
     85        user_group_list = [g['id'] for g in user.groups.select_related().values('id')]         
     86        if user_group_list: 
     87            group_model_ids = RowLevelPermission.objects.filter(owner_ct=ContentType.objects.get_for_model(Group).id, 
     88                                                  owner_id__in=user_group_list, 
     89                                                  model_ct = model_ct 
     90                                                  ).values('model_id') 
     91            id_list.append([o['model_id'] for o in group_model_ids]) 
    8992        return id_list 
    9093