comparison core/modules/node/src/Entity/NodeRouteProvider.php @ 0:4c8ae668cc8c

Initial import (non-working)
author Chris Cannam
date Wed, 29 Nov 2017 16:09:58 +0000
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:4c8ae668cc8c
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 }