guardian.forms.UserObjectPermissionsForm(user, *args, **kwargs)¶Bases: guardian.forms.BaseObjectPermissionsForm
Object level permissions management form for usage with User instances.
Example usage:
from django.shortcuts import get_object_or_404
from myapp.models import Post
from guardian.forms import UserObjectPermissionsForm
from django.contrib.auth.models import User
def my_view(request, post_slug, user_id):
user = get_object_or_404(User, id=user_id)
post = get_object_or_404(Post, slug=post_slug)
form = UserObjectPermissionsForm(user, post, request.POST or None)
if request.method == 'POST' and form.is_valid():
form.save_obj_perms()
...
save_obj_perms()¶Saves selected object permissions by creating new ones and removing those which were not selected but already exists.
Should be called after form is validated.
guardian.forms.GroupObjectPermissionsForm(group, *args, **kwargs)¶Bases: guardian.forms.BaseObjectPermissionsForm
Object level permissions management form for usage with Group instances.
Example usage:
from django.shortcuts import get_object_or_404
from myapp.models import Post
from guardian.forms import GroupObjectPermissionsForm
from guardian.models import Group
def my_view(request, post_slug, group_id):
group = get_object_or_404(Group, id=group_id)
post = get_object_or_404(Post, slug=post_slug)
form = GroupObjectPermissionsForm(group, post, request.POST or None)
if request.method == 'POST' and form.is_valid():
form.save_obj_perms()
...
save_obj_perms()¶Saves selected object permissions by creating new ones and removing those which were not selected but already exists.
Should be called after form is validated.
guardian.forms.BaseObjectPermissionsForm(obj, *args, **kwargs)¶Base form for object permissions management. Needs to be extended for usage with users and/or groups.
| Parameters: | obj – Any instance which form would use to manage object permissions” |
|---|
are_obj_perms_required()¶Indicates if at least one object permission should be required. Default:
False.
get_obj_perms_field()¶Returns field instance for object permissions management. May be replaced entirely.
get_obj_perms_field_choices()¶Returns choices for object permissions management field. Default:
list of tuples (codename, name) for each Permission instance
for the managed object.
get_obj_perms_field_class()¶Returns object permissions management field’s base class. Default:
django.forms.MultipleChoiceField.
get_obj_perms_field_initial()¶Returns initial object permissions management field choices. Default:
[] (empty list).
get_obj_perms_field_label()¶Returns label of the object permissions management field. Defualt:
_("Permissions") (marked to be translated).
get_obj_perms_field_name()¶Returns name of the object permissions management field. Default:
permission.
get_obj_perms_field_widget()¶Returns object permissions management field’s widget base class.
Default: django.forms.SelectMultiple.
save_obj_perms()¶Must be implemented in concrete form class. This method should store selected object permissions.