Forms¶
UserObjectPermissionsForm¶
- class 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() ...
Constructor for BaseObjectPermissionsForm.
- Parameters
obj – Any instance which form would use to manage object permissions”
- get_obj_perms_field_initial()¶
Returns initial object permissions management field choices. Default:
[]
(empty list).
- property media¶
Return all media required to render the widgets on this form.
- 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.
GroupObjectPermissionsForm¶
- class 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() ...
Constructor for BaseObjectPermissionsForm.
- Parameters
obj – Any instance which form would use to manage object permissions”
- get_obj_perms_field_initial()¶
Returns initial object permissions management field choices. Default:
[]
(empty list).
- property media¶
Return all media required to render the widgets on this form.
- 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.
BaseObjectPermissionsForm¶
- class guardian.forms.BaseObjectPermissionsForm(obj, *args, **kwargs)¶
Base form for object permissions management. Needs to be extended for usage with users and/or groups.
Constructor for BaseObjectPermissionsForm.
- 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 eachPermission
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
.
- property media¶
Return all media required to render the widgets on this form.
- save_obj_perms()¶
Must be implemented in concrete form class. This method should store selected object permissions.