Ejemplo n.º 1
0
 /**
  * @Route("/delete/{pid}", requirements={"pid" = "^[1-9]\d*$"})
  * @Theme("admin")
  * @Template
  *
  * Delete a position.
  *
  * @param Request $request
  * @param BlockPositionEntity $positionEntity
  * @return \Symfony\Component\HttpFoundation\RedirectResponse|\Symfony\Component\HttpFoundation\Response
  */
 public function deleteAction(Request $request, BlockPositionEntity $positionEntity)
 {
     if (!$this->hasPermission('ZikulaBlocksModule::position', $positionEntity->getName() . '::' . $positionEntity->getPid(), ACCESS_DELETE)) {
         throw new AccessDeniedException();
     }
     $form = $this->createFormBuilder()->add('delete', 'Symfony\\Component\\Form\\Extension\\Core\\Type\\SubmitType', ['label' => 'Delete'])->add('cancel', 'Symfony\\Component\\Form\\Extension\\Core\\Type\\SubmitType', ['label' => 'Cancel'])->getForm();
     $form->handleRequest($request);
     if ($form->isValid()) {
         if ($form->get('delete')->isClicked()) {
             $em = $this->getDoctrine()->getManager();
             $em->remove($positionEntity);
             $em->flush();
             $this->addFlash('status', __('Done! Position deleted.'));
         }
         if ($form->get('cancel')->isClicked()) {
             $this->addFlash('status', __('Operation cancelled.'));
         }
         return $this->redirect($this->generateUrl('zikulablocksmodule_admin_view'));
     }
     return ['form' => $form->createView(), 'position' => $positionEntity];
 }