/**
  * Load data fixtures with the passed EntityManager
  *
  * @param ObjectManager $manager
  */
 public function load(ObjectManager $manager)
 {
     $mnMapa = new Menu();
     $mnMapa->setOrden(100)->setDescripcion('Mapa del Sitio según perfil')->setNombre('Mapa del Sitio')->setRoute('ad_perfil_mapa_sitio')->setColor($this->getReference('clr-verde'))->setIcono('fa fa-sitemap')->setPermiso($this->getReference('per-mapa-sitio-index'));
     $manager->persist($mnMapa);
     $mnConfig = new Menu();
     $mnConfig->setOrden(99)->setDescripcion('Inicializar el sistema de menu y permisos')->setNombre('Configuración')->setColor($this->getReference('clr-negro'))->setIcono('fa fa-cogs')->setPermiso($this->getReference('per-config-index'));
     $manager->persist($mnConfig);
     $perNew = new Menu();
     $perNew->setMenuSuperior($mnConfig)->setOrden(1)->setDescripcion('Crear Permisos y asociar a los perfiles')->setNombre('Crear Permiso')->setRoute('ad_perfil_permiso_new')->setColor($this->getReference('clr-verde'))->setIcono('fa fa-unlock-alt')->setPermiso($this->getReference('per-per-new'));
     $manager->persist($perNew);
     $perList = new Menu();
     $perList->setMenuSuperior($mnConfig)->setOrden(2)->setDescripcion('Listar los permisos asignados')->setNombre('Listar Permisos')->setRoute('ad_perfil_permiso_list')->setColor($this->getReference('clr-rosado'))->setIcono('fa fa-list-ul')->setPermiso($this->getReference('per-per-list'));
     $manager->persist($perList);
     $perEditPermiso = new Menu();
     $perEditPermiso->setMenuSuperior($perList)->setOrden(1)->setVisible(false)->setDescripcion('Editar los roles que pueden utilizar el permiso')->setNombre('Editar Perfiles por Permiso')->setRoute('ad_perfil_permiso_edit')->setColor($this->getReference('clr-celeste'))->setIcono('fa fa-edit')->setPermiso($this->getReference('per-per-edit'));
     $manager->persist($perEditPermiso);
     $perEditPerfil = new Menu();
     $perEditPerfil->setMenuSuperior($perList)->setOrden(2)->setVisible(false)->setDescripcion('Editar los permisos de un perfil')->setNombre('Editar Permisos por Perfil')->setRoute('ad_perfil_permiso_edit_perfil')->setColor($this->getReference('clr-celeste'))->setIcono('fa fa-edit')->setPermiso($this->getReference('per-per-edit'));
     $manager->persist($perEditPerfil);
     $mnNew = new Menu();
     $mnNew->setMenuSuperior($mnConfig)->setOrden(3)->setDescripcion('Permite agregar un menu invisible a los principales')->setNombre('Crear Menu')->setRoute('ad_perfil_menu_new')->setColor($this->getReference('clr-celeste'))->setIcono('fa fa-navicon')->setPermiso($this->getReference('per-menu-new'));
     $manager->persist($mnNew);
     $mnRepo = new Menu();
     $mnRepo->setOrden(98)->setDescripcion('Listado de los descargables del sistema')->setNombre('Reportes')->setColor($this->getReference('clr-gris'))->setIcono('fa fa-file-excel-o')->setPermiso($this->getReference('per-rep-list'));
     $manager->persist($mnRepo);
     $repList = new Menu();
     $repList->setMenuSuperior($mnRepo)->setOrden(1)->setDescripcion('Listar los reportes disponibles')->setNombre('Listar Reportes')->setRoute('ad_perfil_reportes')->setColor($this->getReference('clr-amarillo'))->setIcono('fa fa-list-ul')->setPermiso($this->getReference('per-rep-list'));
     $manager->persist($repList);
     $repNew = new Menu();
     $repNew->setMenuSuperior($mnRepo)->setOrden(2)->setDescripcion('Permite configurar un nuevo reporte de PerfilBundle')->setNombre('Crear Reporte')->setRoute('ad_perfil_reporte_new')->setColor($this->getReference('clr-celeste'))->setIcono('fa fa-plus')->setPermiso($this->getReference('per-rep-new'));
     $manager->persist($repNew);
     $repEdit = new Menu();
     $repEdit->setMenuSuperior($repList)->setVisible(false)->setOrden(1)->setDescripcion('Permite editar la configuración de un reporte de PerfilBundle')->setNombre('Editar Reporte')->setRoute('ad_perfil_reporte_edit')->setColor($this->getReference('clr-cafe'))->setIcono('fa fa-pencil-square-o')->setPermiso($this->getReference('per-rep-edit'));
     $manager->persist($repEdit);
     $repLoad = new Menu();
     $repLoad->setMenuSuperior($repList)->setVisible(false)->setOrden(2)->setDescripcion('Permite dejar estatico un reporte de PerfilBundle')->setNombre('Cargar Reporte Estático')->setRoute('ad_perfil_reporte_load_estatico')->setColor($this->getReference('clr-rojo'))->setIcono('fa fa-link')->setPermiso($this->getReference('per-rep-load'));
     $manager->persist($repLoad);
     $manager->flush();
 }
 public function getSlugActual()
 {
     return is_null($this->menuActual) ? null : $this->menuActual->getSlug();
 }
 /**
  * @param Request $request
  * @param Menu|null $menuSuperior
  * @return \Symfony\Component\HttpFoundation\RedirectResponse|\Symfony\Component\HttpFoundation\Response
  * @Route("/menu/new/{menu_slug}", name="ad_perfil_menu_new", defaults={"menu_slug" : null})
  * @ParamConverter("menuSuperior", class="ADPerfilBundle:Menu", options={"mapping" : {"menu_slug" : "slug" }})
  * @Security("is_granted('permiso','ad_perfil-menu-new')")
  */
 public function createAction(Request $request, Menu $menuSuperior = null)
 {
     $menu = new Menu();
     $menu->setMenuSuperior($menuSuperior)->setOrden($this->get('ad_perfil.menu_manager')->countItems($menuSuperior) + 1);
     $form = $this->createForm(MenuFormType::class, $menu, ['super_admin' => true]);
     $form->handleRequest($request);
     if ($form->isSubmitted() && $form->isValid()) {
         $em = $this->getDoctrine()->getManager();
         $em->persist($menu);
         $em->flush();
         $this->addFlash('success', 'Se creo correctamente el Menú ' . $menu);
         return $this->redirectToRoute('ad_perfil_menu', ['menu_slug' => $this->get('ad_perfil.menu_manager')->getSlugActual()]);
     }
     return $this->render('ADPerfilBundle:Navegacion:menu-new.html.twig', ['form' => $form->createView(), 'menuSuperior' => $menuSuperior]);
 }