/**
  * @Method({"GET", "POST"})
  * @Route(
  *      "/vending_machine/create",
  *      name="vending_machine_create",
  *      host="{domain_dashboard}",
  *      defaults={"_locale" = "%locale%", "domain_dashboard" = "%domain_dashboard%"},
  *      requirements={"_locale" = "%locale%", "domain_dashboard" = "%domain_dashboard%"}
  * )
  */
 public function createAction(Request $request)
 {
     if (!$this->_vendingMachineBoundlessAccess->isGranted(VendingMachineBoundlessAccess::VENDING_MACHINE_CREATE)) {
         throw $this->createAccessDeniedException('Access denied');
     }
     $vendingMachineType = new VendingMachineType($this->_vendingMachineBoundlessAccess->isGranted(VendingMachineBoundlessAccess::VENDING_MACHINE_CREATE));
     $form = $this->createForm($vendingMachineType, $vendingMachine = new VendingMachine(), ['action' => $this->generateUrl('vending_machine_create')]);
     $form->handleRequest($request);
     if (!$form->isValid()) {
         $this->_breadcrumbs->add('vending_machine_read')->add('vending_machine_create');
         return $this->render('AppBundle:Entity/VendingMachine/CRUD:createItem.html.twig', ['form' => $form->createView()]);
     } else {
         $encodedPassword = $this->get('app.sync.security.password_encoder')->encodePassword($vendingMachine->getPassword());
         $vendingMachine->setPassword($encodedPassword);
         $this->_manager->persist($vendingMachine);
         $this->_manager->flush();
         $this->_messages->markCreateSuccess();
         if ($form->has('create_and_return') && $form->get('create_and_return')->isClicked()) {
             return $this->redirectToRoute('vending_machine_read');
         } else {
             return $this->redirectToRoute('vending_machine_update', ['id' => $vendingMachine->getId()]);
         }
     }
 }