Skip to content

Configuration

Config entity schema

Membership Type is a config entity. Its schema is defined in config/schema/crm_membership.schema.yml:

Key Type Description
id string Machine ID of the type.
label label Human-readable label.
description text Optional description.
default_target_contact string (nullable) Default target contact (e.g. CRM contact ID).
membership_term string Membership Term plugin ID.
membership_term_config sequence (nullable) Plugin-specific configuration (sequence of values; structure depends on the plugin).

Schema prefix: crm_membership.crm_membership_type.*. The membership_term_config sequence uses type: ignore so that plugin-specific config is not validated by the schema; plugins define their own form and config shape.

Settings form

The module exposes a single route for module-wide settings:

Route name Path Form Permission
crm_membership.settings /admin/crm/crm-membership Drupal\crm_membership\Form\SettingsForm administer crm_membership

Defined in crm_membership.routing.yml. The form class is in src/Form/SettingsForm.php.

Permissions

Permissions are defined in crm_membership.permissions.yml and appear under People → Permissions.

Permission Title Description Restrict access
administer crm_membership Administer CRM Membership Administer CRM Membership settings. Yes
view crm membership types View CRM Membership types View the list of CRM Membership types and their configuration. No
create crm membership types Create CRM Membership types Create CRM Membership type configuration. No
edit crm membership types Edit CRM Membership types Edit CRM Membership type configuration. No
delete crm membership types Delete CRM Membership types Delete CRM Membership types. Yes
view memberships View CRM Memberships View CRM Memberships. No
edit memberships Edit CRM Memberships Edit CRM Memberships. No
renew memberships Renew memberships Renew membership manually. No
delete memberships Delete CRM Memberships Delete CRM Memberships. Yes

Membership Type (crm_membership_type) access uses MembershipTypeAccessControlHandler: view, update, delete, and create each allow the matching granular permission or administer crm_membership. The membership type collection route requires view crm membership types (or administer crm_membership, which satisfies entity access checks).

Membership and Membership Period content entities still use MembershipAccessControlHandler (and related route checks) with view memberships, edit memberships, renew memberships, delete memberships, and administer crm_membership as documented on those routes.

The “restrict access” flag indicates that Drupal warns when granting the permission to roles.