You are here

public function ConnectionHtmlRouteProvider::getRoutes in RedHen CRM 8

Provides routes for entities.

Parameters

\Drupal\Core\Entity\EntityTypeInterface $entity_type: The entity type

Return value

\Symfony\Component\Routing\RouteCollection|\Symfony\Component\Routing\Route[] Returns a route collection or an array of routes keyed by name, like route_callbacks inside 'routing.yml' files.

Overrides DefaultHtmlRouteProvider::getRoutes

File

modules/redhen_connection/src/ConnectionHtmlRouteProvider.php, line 20

Class

ConnectionHtmlRouteProvider
Provides routes for Connection entities.

Namespace

Drupal\redhen_connection

Code

public function getRoutes(EntityTypeInterface $entity_type) {
  $collection = parent::getRoutes($entity_type);
  $entity_type_id = $entity_type
    ->id();
  if ($collection_route = $this
    ->getCollectionRoute($entity_type)) {
    $collection
      ->add("entity.{$entity_type_id}.collection", $collection_route);
  }

  // Get all connection form and add routes.
  if ($add_entity_page_routes = $this
    ->getAddEntityRoutes($entity_type)) {
    foreach ($add_entity_page_routes as $entity_type_key => $entity_page_routes) {
      if ($entity_page_routes['form']) {
        $collection
          ->add("{$entity_type_key}.connection.add_form", $entity_page_routes['form']);
      }
      if ($entity_page_routes['add']) {
        $collection
          ->add("{$entity_type_key}.connection.add_page", $entity_page_routes['add']);
      }
    }
  }
  if ($settings_form_route = $this
    ->getSettingsFormRoute($entity_type)) {
    $collection
      ->add("{$entity_type_id}.settings", $settings_form_route);
  }
  return $collection;
}