GitHub-only

WARNING: If you are reading this on GitHub, DON’T! Read the documentation at docs.plone.org so you have working references and proper formatting.

plone.api.user

Module that provides functionality for user manipulation.

plone.api.user.create(email=None, username=None, password=None, roles=('Member',), properties=None)[source]

Create a user.

Parameters:
  • email (string) – [required] Email for the new user.

  • username (string) – Username for the new user. This is required if email is not used as a username.

  • password (string) – Password for the new user. If it’s not set we generate a random 8-char alpha-numeric one.

  • properties (dict) – User properties to assign to the new user. The list of available properties is available in portal_memberdata through ZMI.

Returns:

Newly created user

Return type:

MemberData object

Raises:

MissingParameterError InvalidParameterError

Example:

Create user

plone.api.user.delete(username=None, user=None)[source]

Delete a user.

Arguments username and user are mutually exclusive. You can either set one or the other, but not both.

Parameters:
  • username (string) – Username of the user to be deleted.

  • user (MemberData object) – User object to be deleted.

Raises:

MissingParameterError InvalidParameterError

Example:

Delete user

plone.api.user.get(userid=None, username=None)[source]

Get a user.

Plone provides both a unique, unchanging identifier for a user (the userid) and a username, which is the value a user types into the login form. In many cases, the values for each will be the same, but under some circumstances they will differ. Known instances of this behavior include:

  • using content-based members via membrane

  • users changing their email address when using email as login is enabled

We provide the ability to look up users by either.

Parameters:
  • userid (string) – Userid of the user we want to get.

  • username (string) – Username of the user we want to get.

Returns:

User

Return type:

MemberData object

Raises:

MissingParameterError

Example:

Get user

plone.api.user.get_current()[source]

Get the currently logged-in user.

Returns:

Currently logged-in user

Return type:

MemberData object

Example:

Get currently logged-in user

plone.api.user.get_permissions(username=None, user=None, obj=None)[source]

Get user’s site-wide or local permissions.

Arguments username and user are mutually exclusive. You can either set one or the other, but not both. if username and user are not given, the authenticated member will be used.

Parameters:
  • username (string) – Username of the user for which you want to check the permissions.

  • user (MemberData object) – User object for which you want to check the permissions.

  • obj (content object) – If obj is set then check the permissions on this context. If obj is not given, the site root will be used.

Raises:

InvalidParameterError

Example:

Get user permissions

plone.api.user.get_roles(username=None, user=None, obj=None, inherit=True)[source]

Get user’s site-wide or local roles.

Arguments username and user are mutually exclusive. You can either set one or the other, but not both. if username and user are not given, the currently authenticated member will be used.

Parameters:
  • username (string) – Username of the user for which to get roles.

  • user (MemberData object) – User object for which to get roles.

  • obj (content object) – If obj is set then return local roles on this context. If obj is not given, the site root local roles will be returned.

  • inherit (bool) – if obj is set and inherit is False, only return local roles

Raises:

MissingParameterError

Example:

Get user roles

plone.api.user.get_users(groupname=None, group=None)[source]

Get all users or all users filtered by group.

Arguments group and groupname are mutually exclusive. You can either set one or the other, but not both.

Parameters:
  • groupname – Groupname of the group of which to return users. If set, only return users that are member of this group.

  • group (GroupData object) – Group of which to return users. If set, only return users that are member of this group.

Returns:

All users (optionally filtered by group)

Return type:

List of MemberData objects

Example:

Get all users, Get group’s users

plone.api.user.grant_roles(username=None, user=None, obj=None, roles=None)[source]

Grant roles to a user.

Arguments username and user are mutually exclusive. You can either set one or the other, but not both. if username and user are not given, the authenticated member will be used.

Parameters:
  • username (string) – Username of the user that will receive the granted roles.

  • user (MemberData object) – User object that will receive the granted roles.

  • obj (content object) – If obj is set then grant roles on this context. If obj is not given, the site root will be used.

  • roles (list of strings) – List of roles to grant

Raises:

InvalidParameterError MissingParameterError

Example:

Grant roles to user

plone.api.user.has_permission(permission, username=None, user=None, obj=None)[source]

Check whether this user has the given permission.

Arguments username and user are mutually exclusive. You can either set one or the other, but not both. if username and user are not given, the authenticated member will be used.

Parameters:
  • permission (string) – The permission you wish to check

  • username (string) – Username of the user for which you want to check the permission.

  • user (MemberData object) – User object for which you want to check the permission.

  • obj (content object) – If obj is set then check the permission on this context. If obj is not given, the site root will be used.

Raises:

InvalidParameterError

Returns:

True if the user has the permission, False otherwise.

Return type:

bool

plone.api.user.is_anonymous()[source]

Check if the currently logged-in user is anonymous.

Returns:

True if the current user is anonymous, False otherwise.

Return type:

bool

Example:

Check if current user is anonymous

plone.api.user.revoke_roles(username=None, user=None, obj=None, roles=None)[source]

Revoke roles from a user.

Arguments username and user are mutually exclusive. You can either set one or the other, but not both. if username and user are not given, the authenticated member will be used.

Parameters:
  • username (string) – Username of the user that will receive the revoked roles.

  • user (MemberData object) – User object that will receive the revoked roles.

  • obj (content object) – If obj is set then revoke roles on this context. If obj is not given, the site root will be used.

  • roles (list of strings) – List of roles to revoke

Raises:

InvalidParameterError

Example:

Revoke roles from user