diff --git a/src/Bundle/ChillEventBundle/Controller/AdminController.php b/src/Bundle/ChillEventBundle/Controller/AdminController.php
index aca3b5a04..81918436e 100644
--- a/src/Bundle/ChillEventBundle/Controller/AdminController.php
+++ b/src/Bundle/ChillEventBundle/Controller/AdminController.php
@@ -12,6 +12,7 @@ declare(strict_types=1);
namespace Chill\EventBundle\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
+use Symfony\Component\Routing\Annotation\Route;
/**
* Class AdminController
@@ -20,18 +21,12 @@ use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
class AdminController extends AbstractController
{
/**
- * @return \Symfony\Component\HttpFoundation\Response
+ * Event admin.
+ *
+ * @Route("/{_locale}/admin/event", name="chill_event_admin_index")
*/
- public function indexAction()
+ public function indexAdminAction()
{
- return $this->render('ChillEventBundle:Admin:layout.html.twig');
- }
-
- /**
- * @return \Symfony\Component\HttpFoundation\RedirectResponse
- */
- public function redirectToAdminIndexAction()
- {
- return $this->redirectToRoute('chill_main_admin_central');
+ return $this->render('ChillEventBundle:Admin:index.html.twig');
}
}
diff --git a/src/Bundle/ChillEventBundle/Menu/AdminMenuBuilder.php b/src/Bundle/ChillEventBundle/Menu/AdminMenuBuilder.php
new file mode 100644
index 000000000..cede2a5b8
--- /dev/null
+++ b/src/Bundle/ChillEventBundle/Menu/AdminMenuBuilder.php
@@ -0,0 +1,61 @@
+authorizationChecker = $authorizationChecker;
+ }
+
+ public function buildMenu($menuId, MenuItem $menu, array $parameters)
+ {
+ if (!$this->authorizationChecker->isGranted('ROLE_ADMIN')) {
+ return;
+ }
+
+ $menu->addChild('Events', [
+ 'route' => 'chill_event_admin_index',
+ ])
+ ->setAttribute('class', 'list-group-item-header')
+ ->setExtras([
+ 'order' => 6500
+ ]);
+
+ $menu->addChild('Event type', [
+ 'route' => 'chill_eventtype_admin',
+ ])->setExtras(['order' => 6510]);
+
+ $menu->addChild('Event status', [
+ 'route' => 'chill_event_admin_status',
+ ])->setExtras(['order' => 6520]);
+
+ $menu->addChild('Role', [
+ 'route' => 'chill_event_admin_role',
+ ])->setExtras(['order' => 6530]);
+ }
+
+ public static function getMenuIds(): array
+ {
+ return ['admin_section', 'admin_event'];
+ }
+}
diff --git a/src/Bundle/ChillEventBundle/Resources/views/Admin/index.html.twig b/src/Bundle/ChillEventBundle/Resources/views/Admin/index.html.twig
new file mode 100644
index 000000000..4ad95b49c
--- /dev/null
+++ b/src/Bundle/ChillEventBundle/Resources/views/Admin/index.html.twig
@@ -0,0 +1,13 @@
+{% extends "@ChillMain/Admin/layoutWithVerticalMenu.html.twig" %}
+
+{% block vertical_menu_content %}
+ {{ chill_menu('admin_event', {
+ 'layout': '@ChillMain/Admin/menu_admin_section.html.twig',
+ }) }}
+{% endblock %}
+
+{% block layout_wvm_content %}
+ {% block admin_content %}
+
{{ 'Events configuration' |trans }}
+ {% endblock %}
+{% endblock %}
\ No newline at end of file
diff --git a/src/Bundle/ChillEventBundle/Resources/views/Admin/layout.html.twig b/src/Bundle/ChillEventBundle/Resources/views/Admin/layout.html.twig
deleted file mode 100644
index 827f4610e..000000000
--- a/src/Bundle/ChillEventBundle/Resources/views/Admin/layout.html.twig
+++ /dev/null
@@ -1,31 +0,0 @@
-{#
- * Copyright (C) 2014-2015, Champs Libres Cooperative SCRLFS,
- /
- *
- * 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 .
-#}
-
-{% extends "@ChillMain/Admin/layoutWithVerticalMenu.html.twig" %}
-
-{% block vertical_menu_content %}
- {{ chill_menu('admin_events', {
- 'layout': '@ChillEvent/Admin/menu.html.twig',
- }) }}
-{% endblock %}
-
-{% block layout_wvm_content %}
- {% block admin_content %}
- {{ 'Events configuration' |trans }}
- {% endblock %}
-{% endblock %}
\ No newline at end of file
diff --git a/src/Bundle/ChillEventBundle/Resources/views/Admin/menu.html.twig b/src/Bundle/ChillEventBundle/Resources/views/Admin/menu.html.twig
index 2e804277d..f587d97c4 100644
--- a/src/Bundle/ChillEventBundle/Resources/views/Admin/menu.html.twig
+++ b/src/Bundle/ChillEventBundle/Resources/views/Admin/menu.html.twig
@@ -1,21 +1,3 @@
-{#
- * Copyright (C) 2014-2015, Champs Libres Cooperative SCRLFS,
- /
- *
- * 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 .
-#}
-
{% extends "@ChillMain/Menu/verticalMenu.html.twig" %}
{% block v_menu_title %}{{ 'Events configuration menu'|trans }}{% endblock %}
diff --git a/src/Bundle/ChillEventBundle/Resources/views/EventType/edit.html.twig b/src/Bundle/ChillEventBundle/Resources/views/EventType/edit.html.twig
index 3f2f5b146..205b8791b 100644
--- a/src/Bundle/ChillEventBundle/Resources/views/EventType/edit.html.twig
+++ b/src/Bundle/ChillEventBundle/Resources/views/EventType/edit.html.twig
@@ -1,4 +1,4 @@
-{% extends "ChillEventBundle:Admin:layout.html.twig" %}
+{% extends "ChillEventBundle:Admin:index.html.twig" %}
{% block admin_content -%}
diff --git a/src/Bundle/ChillEventBundle/Resources/views/EventType/index.html.twig b/src/Bundle/ChillEventBundle/Resources/views/EventType/index.html.twig
index 308974770..9c62697f3 100644
--- a/src/Bundle/ChillEventBundle/Resources/views/EventType/index.html.twig
+++ b/src/Bundle/ChillEventBundle/Resources/views/EventType/index.html.twig
@@ -1,4 +1,4 @@
-{% extends "ChillEventBundle:Admin:layout.html.twig" %}
+{% extends "ChillEventBundle:Admin:index.html.twig" %}
{% block admin_content -%}
diff --git a/src/Bundle/ChillEventBundle/Resources/views/EventType/new.html.twig b/src/Bundle/ChillEventBundle/Resources/views/EventType/new.html.twig
index e7d2f0d66..4c0823cdc 100644
--- a/src/Bundle/ChillEventBundle/Resources/views/EventType/new.html.twig
+++ b/src/Bundle/ChillEventBundle/Resources/views/EventType/new.html.twig
@@ -1,4 +1,4 @@
-{% extends "ChillEventBundle:Admin:layout.html.twig" %}
+{% extends "ChillEventBundle:Admin:index.html.twig" %}
{% block admin_content -%}
diff --git a/src/Bundle/ChillEventBundle/Resources/views/EventType/show.html.twig b/src/Bundle/ChillEventBundle/Resources/views/EventType/show.html.twig
index 3e0aaba03..0dbd66b17 100644
--- a/src/Bundle/ChillEventBundle/Resources/views/EventType/show.html.twig
+++ b/src/Bundle/ChillEventBundle/Resources/views/EventType/show.html.twig
@@ -1,4 +1,4 @@
-{% extends "ChillEventBundle:Admin:layout.html.twig" %}
+{% extends "ChillEventBundle:Admin:index.html.twig" %}
{% block admin_content -%}
diff --git a/src/Bundle/ChillEventBundle/Resources/views/Role/edit.html.twig b/src/Bundle/ChillEventBundle/Resources/views/Role/edit.html.twig
index a0b2d4f92..0c9d61795 100644
--- a/src/Bundle/ChillEventBundle/Resources/views/Role/edit.html.twig
+++ b/src/Bundle/ChillEventBundle/Resources/views/Role/edit.html.twig
@@ -1,4 +1,4 @@
-{% extends "ChillEventBundle:Admin:layout.html.twig" %}
+{% extends "ChillEventBundle:Admin:index.html.twig" %}
{% block admin_content -%}
{{ 'Role edit'|trans }}
diff --git a/src/Bundle/ChillEventBundle/Resources/views/Role/index.html.twig b/src/Bundle/ChillEventBundle/Resources/views/Role/index.html.twig
index 4fb4f866f..091b2f6ac 100644
--- a/src/Bundle/ChillEventBundle/Resources/views/Role/index.html.twig
+++ b/src/Bundle/ChillEventBundle/Resources/views/Role/index.html.twig
@@ -1,4 +1,4 @@
-{% extends "ChillEventBundle:Admin:layout.html.twig" %}
+{% extends "ChillEventBundle:Admin:index.html.twig" %}
{% block admin_content -%}
diff --git a/src/Bundle/ChillEventBundle/Resources/views/Role/new.html.twig b/src/Bundle/ChillEventBundle/Resources/views/Role/new.html.twig
index da0a3e459..03681f30c 100644
--- a/src/Bundle/ChillEventBundle/Resources/views/Role/new.html.twig
+++ b/src/Bundle/ChillEventBundle/Resources/views/Role/new.html.twig
@@ -1,4 +1,4 @@
-{% extends "ChillEventBundle:Admin:layout.html.twig" %}
+{% extends "ChillEventBundle:Admin:index.html.twig" %}
{% block admin_content -%}
diff --git a/src/Bundle/ChillEventBundle/Resources/views/Role/show.html.twig b/src/Bundle/ChillEventBundle/Resources/views/Role/show.html.twig
index 2fb920eb2..68a15958f 100644
--- a/src/Bundle/ChillEventBundle/Resources/views/Role/show.html.twig
+++ b/src/Bundle/ChillEventBundle/Resources/views/Role/show.html.twig
@@ -1,4 +1,4 @@
-{% extends "ChillEventBundle:Admin:layout.html.twig" %}
+{% extends "ChillEventBundle:Admin:index.html.twig" %}
{% block admin_content -%}
diff --git a/src/Bundle/ChillEventBundle/Resources/views/Status/edit.html.twig b/src/Bundle/ChillEventBundle/Resources/views/Status/edit.html.twig
index e376e05e3..3d00a66fa 100644
--- a/src/Bundle/ChillEventBundle/Resources/views/Status/edit.html.twig
+++ b/src/Bundle/ChillEventBundle/Resources/views/Status/edit.html.twig
@@ -1,4 +1,4 @@
-{% extends "ChillEventBundle:Admin:layout.html.twig" %}
+{% extends "ChillEventBundle:Admin:index.html.twig" %}
{% block admin_content -%}
diff --git a/src/Bundle/ChillEventBundle/Resources/views/Status/index.html.twig b/src/Bundle/ChillEventBundle/Resources/views/Status/index.html.twig
index 7ac4ed37e..144a80e51 100644
--- a/src/Bundle/ChillEventBundle/Resources/views/Status/index.html.twig
+++ b/src/Bundle/ChillEventBundle/Resources/views/Status/index.html.twig
@@ -1,4 +1,4 @@
-{% extends "ChillEventBundle:Admin:layout.html.twig" %}
+{% extends "ChillEventBundle:Admin:index.html.twig" %}
{% block admin_content -%}
diff --git a/src/Bundle/ChillEventBundle/Resources/views/Status/new.html.twig b/src/Bundle/ChillEventBundle/Resources/views/Status/new.html.twig
index aa3ecc374..03ba1de3a 100644
--- a/src/Bundle/ChillEventBundle/Resources/views/Status/new.html.twig
+++ b/src/Bundle/ChillEventBundle/Resources/views/Status/new.html.twig
@@ -1,4 +1,4 @@
-{% extends "ChillEventBundle:Admin:layout.html.twig" %}
+{% extends "ChillEventBundle:Admin:index.html.twig" %}
{% block admin_content -%}
diff --git a/src/Bundle/ChillEventBundle/Resources/views/Status/show.html.twig b/src/Bundle/ChillEventBundle/Resources/views/Status/show.html.twig
index 624997026..0e0a75069 100644
--- a/src/Bundle/ChillEventBundle/Resources/views/Status/show.html.twig
+++ b/src/Bundle/ChillEventBundle/Resources/views/Status/show.html.twig
@@ -1,4 +1,4 @@
-{% extends "ChillEventBundle:Admin:layout.html.twig" %}
+{% extends "ChillEventBundle:Admin:index.html.twig" %}
{% block admin_content -%}
diff --git a/src/Bundle/ChillEventBundle/config/routes.yaml b/src/Bundle/ChillEventBundle/config/routes.yaml
index 2abb338bd..afa6bbe2b 100644
--- a/src/Bundle/ChillEventBundle/config/routes.yaml
+++ b/src/Bundle/ChillEventBundle/config/routes.yaml
@@ -9,24 +9,24 @@ chill_event_participation:
## ADMIN
-chill_event_admin:
+chill_event_admin_index:
path: /{_locale}/admin/event
- controller: Chill\EventBundle\Controller\AdminController::indexAction
- options:
- menus:
- admin_section:
- order: 2100
- label: "Events"
- icons: ['calendar']
+ controller: Chill\EventBundle\Controller\AdminController::indexAdminAction
+ # options:
+ # menus:
+ # admin_section:
+ # order: 2100
+ # label: "Events"
+ # icons: ['calendar']
-chill_event_admin_redirect_to_admin_index:
- path: /{_locale}/admin/event_redirect_to_main
- controller: Chill\EventBundle\Controller\AdminController::redirectToAdminIndexAction
- options:
- menus:
- admin_events:
- order: 0
- label: Main admin menu
+# chill_event_admin_redirect_to_admin_index:
+# path: /{_locale}/admin/event_redirect_to_main
+# controller: Chill\EventBundle\Controller\AdminController::redirectToAdminIndexAction
+# options:
+# menus:
+# admin_events:
+# order: 0
+# label: Main admin menu
chill_event_admin_status:
resource: "@ChillEventBundle/config/routes/status.yaml"
@@ -39,4 +39,4 @@ chill_event_admin_role:
chill_event_admin_event_type:
resource: "@ChillEventBundle/config/routes/eventtype.yaml"
prefix: /{_locale}/admin/event/event_type
-
+
diff --git a/src/Bundle/ChillEventBundle/config/services.yaml b/src/Bundle/ChillEventBundle/config/services.yaml
index 8287f32b5..cee12a024 100644
--- a/src/Bundle/ChillEventBundle/config/services.yaml
+++ b/src/Bundle/ChillEventBundle/config/services.yaml
@@ -1,2 +1,11 @@
services:
+ Chill\EventBundle\Controller\:
+ autowire: true
+ resource: '../Controller'
+ tags: ['controller.service_arguments']
+ Chill\EventBundle\Menu\:
+ autowire: true
+ autoconfigure: true
+ resource: '../Menu/'
+ tags: ['chill.menu_builder']
\ No newline at end of file