og-8.x-1.x-dev/og.routing.yml
og.routing.yml
# Routes for Organic groups.
# OgRole entity routes.
entity.og_role.collection:
path: 'admin/config/group/roles/{entity_type_id}/{bundle_id}'
defaults:
_entity_list: 'og_role'
_title_callback: '\Drupal\og_ui\Controller\OgUiController::rolesOverviewPageTitleCallback'
requirements:
_permission: 'administer organic groups'
entity.og_role.add_form:
path: 'admin/config/group/roles/{entity_type_id}/{bundle_id}/add'
defaults:
_entity_form: og_role.default
_title: 'Add role'
requirements:
_permission: 'administer organic groups'
entity.og_role.edit_form:
path: 'admin/config/group/role/{og_role}/edit'
defaults:
_entity_form: og_role.default
_title_callback: '\Drupal\og_ui\Form\OgRoleForm::editRoleTitleCallback'
requirements:
_entity_access: 'og_role.update'
entity.og_role.delete_form:
path: 'admin/config/group/role/{og_role}/delete'
defaults:
_entity_form: og_role.delete
requirements:
_entity_access: 'og_role.delete'
og.subscribe:
path: 'group/{entity_type_id}/{group}/subscribe/{og_membership_type}'
defaults:
_controller: '\Drupal\og\Controller\SubscriptionController::subscribe'
_title: 'Join Group'
og_membership_type: default
requirements:
# Only authenticated users can subscribe to group, but we do allow anonymous
# users to reach this route. They will be redirect to login page or be given
# the correct page by the controller.
_access: 'TRUE'
options:
parameters:
group:
type: entity:{entity_type_id}
og.unsubscribe:
path: 'group/{entity_type_id}/{group}/unsubscribe'
defaults:
_controller: '\Drupal\og\Controller\SubscriptionController::unsubscribe'
_title: 'Leave Group'
requirements:
_user_is_logged_in: 'TRUE'
options:
parameters:
group:
type: entity:{entity_type_id}
og.add_multiple_roles_confirm:
path: '/group/roles/add'
defaults:
_form: '\Drupal\og\Form\OgAddMultipleRolesForm'
requirements:
_custom_access: '\Drupal\og\Form\OgAddMultipleRolesForm::access'
og.remove_multiple_roles_confirm:
path: '/group/roles/remove'
defaults:
_form: '\Drupal\og\Form\OgRemoveMultipleRolesForm'
requirements:
_custom_access: '\Drupal\og\Form\OgRemoveMultipleRolesForm::access'
og.entity_autocomplete:
path: '/group/{entity_type_id}/{group}/autocomplete/{target_type}/{selection_handler}/{selection_settings_key}'
defaults:
_controller: '\Drupal\og\Controller\OgAutocompleteController:handleAutocomplete'
requirements:
# @todo This may also require an access check.
_user_is_logged_in: 'TRUE'
options:
parameters:
group:
type: entity:{entity_type_id}
# OG Membership entity routes.
entity.og_membership.add_form:
path: 'group/{entity_type_id}/{group}/admin/members/add/{og_membership_type}'
defaults:
_controller: '\Drupal\og\Controller\OgAdminMembersController::addForm'
_title: 'Add member'
requirements:
_og_membership_add_access: 'TRUE'
options:
_admin_route: 'TRUE'
parameters:
group:
type: entity:{entity_type_id}
# The canonical route is the same as the edit-form route because we need a
# canonical route for various functionality to work properly, but a standard
# entity view for OG memberships tends to feel quite stub-like.
# @todo Implement a route provider for og_membership that subclasses
# \Drupal\Core\Entity\Routing\DefaultHtmlRouteProvider::getRoutes().
entity.og_membership.canonical:
path: 'group/{entity_type_id}/{group}/admin/members/{og_membership}/edit'
defaults:
_entity_form: 'og_membership.edit'
options:
_admin_route: 'TRUE'
parameters:
group:
type: entity:{entity_type_id}
requirements:
_entity_access: 'og_membership.edit'
entity.og_membership.edit_form:
path: 'group/{entity_type_id}/{group}/admin/members/{og_membership}/edit'
defaults:
_entity_form: 'og_membership.edit'
options:
_admin_route: 'TRUE'
parameters:
group:
type: entity:{entity_type_id}
requirements:
_entity_access: 'og_membership.edit'
entity.og_membership.delete_form:
path: 'group/{entity_type_id}/{group}/admin/members/{og_membership}/delete'
defaults:
_entity_form: 'og_membership.delete'
options:
_admin_route: 'TRUE'
parameters:
group:
type: entity:{entity_type_id}
requirements:
_entity_access: 'og_membership.delete'
# OG Membership type entity routes.
entity.og_membership_type.collection:
path: '/admin/structure/membership-types'
defaults:
_entity_list: 'og_membership_type'
_title: 'Membership types'
requirements:
_permission: 'administer organic groups'
entity.og_membership_type.edit_form:
path: '/admin/structure/membership-types/manage/{og_membership_type}'
defaults:
_entity_form: 'og_membership_type.edit'
requirements:
_entity_access: 'og_membership_type.update'
entity.og_membership_type.delete_form:
path: '/admin/structure/membership-types/manage/{og_membership_type}/delete'
defaults:
_entity_form: 'og_membership_type.delete'
_title: 'Delete'
requirements:
_entity_access: 'og_membership_type.delete'
og_membership.type_add:
path: '/admin/structure/membership-types/add'
defaults:
_entity_form: 'og_membership_type.add'
_title: 'Add membership type'
requirements:
_permission: 'administer organic groups'
