Permissions API

Setting a permission

Import set_perm:

from safety.shortcuts import set_perm

Set an object permission:

set_perm([user_or_group], 'view_post', obj)

Set a global permission:

set_perm([user_or_group], 'view_post', content_type=contentTypeOfModel)

Lifting a permission

Import lift_perm:

from safety.shortcuts import lift_perm

Lift (remove) an object permission:

lift_perm([user_or_group], 'view_post', obj)

Lift (remove) a global permission:

lift_perm([user_or_group], 'view_post', content_type=contentTypeOfModel)

Checking a permission

Import has_perm:

from safety.shortcuts import has_perm

Check an object permission:

has_perm([user_or_group], 'view_post', obj)

Check a global permission:

has_perm([user_or_group], 'view_post', content_type=contentTypeOfModel)

Checking a permission (including group permissions)

Import the shortcut:

from safety.shortcuts import has_gross_perm

Check if a user has permission to an object group, group, or directly:

has_gross_perm([user], 'permission_codename', obj)

Get an object permission

Import the shortcut:

from safety.shortcuts import get_object_perm

Get an object permission:

get_object_perm([user], 'permission_codename', obj)

Get users with permissions

Import the shortcut:

from safety.shortcuts import get_users_with_perms

Get users with permissions:

get_users_with_perms('permission_codename', obj)

Get users with gross permissions (includes permissions through groups)

Import the shortcut:

from safety.shortcuts import get_users_with_perms

Get users with permissions:

get_users_with_perms('permission_codename', obj, with_group_users=True)

Get groups with permissions

Import the shortcut:

from safety.shortcuts import get_groups_with_perms

Get groups with permissions (obj can be None, it’s default value):

get_groups_with_perms('permission_codename', obj)