Skip to content

Membership periods UI

Membership periods can be viewed and managed through three paths. Choose based on who needs access and what they need to do.

Path: /admin/content/crm/membership/{crm_membership}/all-periods (admin Content path, not under /crm/membership/...) Route: view.membership_periods_for_membership.page_membership_periods Permission: view memberships

Optional View installed from config/optional/views.view.membership_periods_for_membership.yml when the Views module is enabled.

Lists periods filtered to one parent membership. Read-only listing — no inline edit from the View by default.

How to reach it

  1. Membership list — “Membership periods” operation on each row (MembershipListBuilder). Only appears when the View route is available.
  2. Direct URL — Replace {crm_membership} with the membership entity ID.

There is no top-level menu item for this path.

Global period admin (developers / admins)

Collection: /crm/membership/periods Permission: administer crm_membership

Full entity CRUD for crm_membership_period: add, edit, delete individual periods across all memberships.

  • Menu: CRM portal → Memberships → Membership periods.
  • Use when debugging or correcting period data directly.
  • Normal workflows should use term plugin activate() / renew() instead.

Period entity routes

Operation Path pattern
View /crm/membership/periods/{crm_membership_period}
Add /crm/membership/periods/add
Edit /crm/membership/periods/{crm_membership_period}/edit
Delete /crm/membership/periods/{crm_membership_period}/delete

All require administer crm_membership.

When to use which

Need Use
Staff reviewing a member’s history Per-membership View (view memberships)
Automated period creation Term plugin on activate/renew — no UI
Fix bad data / development Global period CRUD (administer crm_membership)
Custom themed front-end Build a custom View on crm_membership_period