protected function handleGETForm(Form $form) { $request = $this->getRequest(); $originalMethod = $request->getMethod(); $request->setMethod('GET'); $form->handleRequest($request); $request->setMethod($originalMethod); }
/** * @param BlockInterface $block */ public function load(BlockInterface $block) { $this->form = $this->formFactory->create(SubscribeType::class, $this->subscription); $this->form->handleRequest($this->request); if ($this->form->isValid()) { foreach ($this->getMailingLists($block) as $mailingList) { $this->subscription->setMailingList($mailingList); $this->em->persist($this->subscription); $this->em->flush($this->subscription); // Reset to add to another mailing list $this->em->detach($this->subscription); $this->subscription = clone $this->subscription; $this->subscription->setId(null); } $this->subscribed = true; } }
/** * @param BlockInterface $block */ public function load(BlockInterface $block) { $properties = $block->getProperties(); $opts = array(); if (isset($properties['responseType']) && $properties['responseType'] == 'redirect') { $opts['action'] = $this->router->generate('opifer_mailing_list_subscribe_block', ['id' => $block->getId()]); } $this->form = $this->formFactory->create(SubscribeType::class, $this->subscription, $opts); $this->form->handleRequest($this->request); if ($this->form->isValid()) { foreach ($this->getMailingLists($block) as $list) { $subscription = $this->subscriptionManager->findOrCreate($list, $this->subscription->getEmail()); $this->subscriptionManager->save($subscription); } $this->subscribed = true; } }