0803f1ef14ac7060a1bc63328061f9393d6d143c
[yaffs-website] / web / core / modules / node / src / Entity / NodeRouteProvider.php
1 <?php
2
3 namespace Drupal\node\Entity;
4
5 use Drupal\Core\Entity\EntityTypeInterface;
6 use Drupal\Core\Entity\Routing\EntityRouteProviderInterface;
7 use Symfony\Component\Routing\Route;
8 use Symfony\Component\Routing\RouteCollection;
9
10 /**
11  * Provides routes for nodes.
12  */
13 class NodeRouteProvider implements EntityRouteProviderInterface {
14
15   /**
16    * {@inheritdoc}
17    */
18   public function getRoutes( EntityTypeInterface $entity_type) {
19     $route_collection = new RouteCollection();
20     $route = (new Route('/node/{node}'))
21       ->addDefaults([
22         '_controller' => '\Drupal\node\Controller\NodeViewController::view',
23         '_title_callback' => '\Drupal\node\Controller\NodeViewController::title',
24       ])
25       ->setRequirement('node', '\d+')
26       ->setRequirement('_entity_access', 'node.view');
27     $route_collection->add('entity.node.canonical', $route);
28
29     $route = (new Route('/node/{node}/delete'))
30       ->addDefaults([
31         '_entity_form' => 'node.delete',
32         '_title' => 'Delete',
33       ])
34       ->setRequirement('node', '\d+')
35       ->setRequirement('_entity_access', 'node.delete')
36       ->setOption('_node_operation_route', TRUE);
37     $route_collection->add('entity.node.delete_form', $route);
38
39     $route = (new Route('/node/{node}/edit'))
40       ->setDefault('_entity_form', 'node.edit')
41       ->setRequirement('_entity_access', 'node.update')
42       ->setRequirement('node', '\d+')
43       ->setOption('_node_operation_route', TRUE);
44     $route_collection->add('entity.node.edit_form', $route);
45
46     return $route_collection;
47   }
48
49 }