1
0
mirror of https://github.com/django/django.git synced 2025-07-04 17:59:13 +00:00

[per-object-permissions] Fixed up some comments

git-svn-id: http://code.djangoproject.com/svn/django/branches/per-object-permissions@3631 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
Christopher Long 2006-08-21 01:16:26 +00:00
parent 49c1c2fdd3
commit 84771a606a
3 changed files with 10 additions and 4 deletions

View File

@ -29,7 +29,8 @@ def view_row_level_permissions(request, app_label, model_name, object_id):
if not request.user.has_perm(opts.app_label + '.' + opts.get_change_permission(), object=model_instance):
raise PermissionDenied
if not request.user.has_perm(RowLevelPermission._meta.app_label + '.' + RowLevelPermission._meta.get_change_permission()):
if not (request.user.has_perm(RowLevelPermission._meta.app_label + '.' + RowLevelPermission._meta.get_change_permission()) or
request.user.has_perm(RowLevelPermission._meta.app_label + '.' + RowLevelPermission._meta.get_add_permission())):
raise PermissionDenied
c = template.RequestContext(request, {
@ -40,6 +41,8 @@ def view_row_level_permissions(request, app_label, model_name, object_id):
'opts':opts,
})
#Set up the paging
list_per_page = RowLevelPermission._meta.admin.list_per_page
paginator = ObjectPaginator(model_instance.row_level_permissions.order_by('owner_ct', 'owner_id'),
list_per_page)
@ -67,7 +70,7 @@ def view_row_level_permissions(request, app_label, model_name, object_id):
add_rlp_manip = AddRLPManipulator(model_instance, model_ct)
edit_rlp_manip = ChangeRLPManipulator(model_ct)
new_rlp_form = forms.FormWrapper(add_rlp_manip, rlp_new_data, rlp_errors)
#3 different groups of forms when split by owner
user_rlp_form_list = []
other_rlp_form_list = []
group_rlp_form_list = []
@ -84,7 +87,7 @@ def view_row_level_permissions(request, app_label, model_name, object_id):
group_rlp_form_list.append({'form':forms.FormWrapper(edit_rlp_manip, data, rlp_errors), 'rlp':r})
else:
other_rlp_form_list.append({'form':forms.FormWrapper(edit_rlp_manip, data, rlp_errors), 'rlp':r})
#Combine together the three kinds
rlp_forms = []
if user_rlp_form_list:
rlp_forms.append((_('Users'), user_rlp_form_list,))

View File

@ -338,6 +338,10 @@ class User(models.Model):
return True
def contains_permission(self, perm, model=None):
"""
This checks if the user has the given permission for any instance
of the given model.
"""
if self.has_perm(perm):
return True
if model and model._meta.row_level_permissions:

View File

@ -143,5 +143,4 @@ True
>>> user.has_perm(quartz._meta.app_label +"."+ perm.codename, quartz)
False
"""