Routes
Routes are defined by the entity type annotations (links) and by crm_membership.routing.yml. The HTML route provider for Membership is custom (MembershipRouteHtmlRouteProvider); Membership Type and Membership Period use AdminHtmlRouteProvider.
Settings (module routing)
From crm_membership.routing.yml:
| Route name | Path | Title | Permission |
|---|---|---|---|
crm_membership.settings |
/admin/crm/crm-membership |
CRM Membership Settings | administer crm_membership |
Form: Drupal\crm_membership\Form\SettingsForm.
Membership (content entity)
From the Membership entity type (src/Entity/Membership.php links):
| Link | Path |
|---|---|
| canonical | /admin/content/crm/membership/{crm_membership} |
| add-page | /admin/content/crm/membership/add |
| add-form | /admin/content/crm/membership/add/{crm_membership_type} |
| edit-form | /admin/content/crm/membership/{crm_membership}/edit |
| delete-form | /admin/content/crm/membership/{crm_membership}/delete |
| renew-form | /admin/content/crm/membership/{crm_membership}/renew |
| collection | /admin/content/crm/membership |
Access is controlled by the entity’s access handler (MembershipAccessControlHandler) and the administer crm_membership / view / edit / renew / delete permissions. The route provider is MembershipRouteHtmlRouteProvider.
Membership Type (config entity)
From the Membership Type entity type (src/Entity/MembershipType.php links):
| Link | Path |
|---|---|
| add-form | /admin/structure/crm/membership_types/add |
| edit-form | /admin/structure/crm/membership_types/{crm_membership_type}/edit |
| delete-form | /admin/structure/crm/membership_types/{crm_membership_type}/delete |
| collection | /admin/structure/crm/membership_types |
Access is controlled by MembershipTypeAccessControlHandler. The collection
route uses collection_permission: view crm membership types (or
administer crm_membership via the handler). Add requires
create crm membership types or administer crm_membership; edit requires
edit crm membership types or admin; delete requires
delete crm membership types or admin; view (single type) requires
view crm membership types or admin. Module-wide settings under
/admin/crm/crm-membership still require administer crm_membership alone.
Membership Period (content entity)
From the Membership Period entity type (src/Entity/MembershipPeriod.php links):
| Link | Path |
|---|---|
| canonical | /admin/content/crm/membership/periods/{crm_membership_period} |
| add-form | /admin/content/crm/membership/periods/add |
| edit-form | /admin/content/crm/membership/periods/{crm_membership_period}/edit |
| delete-form | /admin/content/crm/membership/periods/{crm_membership_period}/delete |
| collection | /admin/content/crm/membership/periods |
Requires administer crm_membership. Route provider: AdminHtmlRouteProvider.