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.