From acac358503e0adcf50c9f2eedd251cd49b2f658b Mon Sep 17 00:00:00 2001 From: Marc Ducobu Date: Fri, 7 Nov 2014 17:33:01 +0100 Subject: [PATCH] Adding routing for Report --- Resources/config/services.yml | 5 ++++ Routing/RoutesLoader.php | 51 +++++++++++++++++++++++++++++++++++ 2 files changed, 56 insertions(+) create mode 100644 Routing/RoutesLoader.php diff --git a/Resources/config/services.yml b/Resources/config/services.yml index 73a6dafca..03a3cb0d6 100644 --- a/Resources/config/services.yml +++ b/Resources/config/services.yml @@ -2,3 +2,8 @@ services: # chill_report.example: # class: Chill\ReportBundle\Example # arguments: [@service_id, "plain_value", %parameter%] +services: + chill.report.routing_loader: + class: Chill\ReportBundle\Routing\RoutesLoader + tags: + - { name: routing.loader } \ No newline at end of file diff --git a/Routing/RoutesLoader.php b/Routing/RoutesLoader.php new file mode 100644 index 000000000..ce234aa16 --- /dev/null +++ b/Routing/RoutesLoader.php @@ -0,0 +1,51 @@ + + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + +namespace Chill\ReportBundle\Routing; + +use Symfony\Component\Config\Loader\Loader; +use Symfony\Component\Routing\RouteCollection; + +/** + * Load routes automatically + * + * @author Champs-Libres + */ +class RoutesLoader extends Loader +{ + public function load($resource, $type = null) + { + $collection = new RouteCollection(); + + $resource = '@ChillReportBundle/Resources/config/routing.yml'; + $type = 'yaml'; + + $importedRoutes = $this->import($resource, $type); + + $collection->addCollection($importedRoutes); + + return $collection; + } + + public function supports($resource, $type = null) + { + return 'chill_routes_report' === $type; + } +}