Skip to content

Commit

Permalink
Collection routes are provided by core. (#3344)
Browse files Browse the repository at this point in the history
  • Loading branch information
pfrenssen authored and jmolivas committed Jun 20, 2017
1 parent 403d2bb commit 6ff75b0
Show file tree
Hide file tree
Showing 2 changed files with 1 addition and 61 deletions.
29 changes: 0 additions & 29 deletions templates/module/src/entity-content-route-provider.php.twig
Original file line number Diff line number Diff line change
Expand Up @@ -30,10 +30,6 @@ class {{ entity_class }}HtmlRouteProvider extends AdminHtmlRouteProvider {% endb
$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);
}
{% if revisionable %}

if ($history_route = $this->getHistoryRoute($entity_type)) {
Expand Down Expand Up @@ -65,31 +61,6 @@ class {{ entity_class }}HtmlRouteProvider extends AdminHtmlRouteProvider {% endb

return $collection;
}

/**
* Gets the collection route.
*
* @param \Drupal\Core\Entity\EntityTypeInterface $entity_type
* The entity type.
*
* @return \Symfony\Component\Routing\Route|null
* The generated route, if available.
*/
protected function getCollectionRoute(EntityTypeInterface $entity_type) {
if ($entity_type->hasLinkTemplate('collection') && $entity_type->hasListBuilderClass()) {
$entity_type_id = $entity_type->id();
$route = new Route($entity_type->getLinkTemplate('collection'));
$route
->setDefaults([
'_entity_list' => $entity_type_id,
'_title' => "{$entity_type->getLabel()} list",
])
->setRequirement('_permission', 'access {{ label|lower }} overview')
->setOption('_admin_route', TRUE);

return $route;
}
}
{% if revisionable %}

/**
Expand Down
33 changes: 1 addition & 32 deletions templates/module/src/entity-route-provider.php.twig
Original file line number Diff line number Diff line change
Expand Up @@ -29,39 +29,8 @@ class {{ entity_class }}HtmlRouteProvider extends AdminHtmlRouteProvider {% endb
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);
}
// Provide your custom entity routes here.

return $collection;
}

/**
* Gets the collection route.
*
* @param \Drupal\Core\Entity\EntityTypeInterface $entity_type
* The entity type.
*
* @return \Symfony\Component\Routing\Route|null
* The generated route, if available.
*/
protected function getCollectionRoute(EntityTypeInterface $entity_type) {
if ($entity_type->hasLinkTemplate('collection') && $entity_type->hasListBuilderClass()) {
$entity_type_id = $entity_type->id();
$route = new Route($entity_type->getLinkTemplate('collection'));
$route
->setDefaults([
'_entity_list' => $entity_type_id,
// Make sure this is not a TranslatableMarkup object as the
// TitleResolver translates this string again.
'_title' => (string) $entity_type->getLabel(),
])
->setRequirement('_permission', $entity_type->getAdminPermission())
->setOption('_admin_route', TRUE);

return $route;
}
}
{% endblock %}

0 comments on commit 6ff75b0

Please sign in to comment.