/** * @Route("/", name="subscribe") */ public function subscribeAction(Request $req) { $subscriber = new Subscriber(); $form = $this->createFormBuilder($subscriber)->add('name', 'text', [])->add('email', 'email', [])->add('categories', 'choice', ['choices' => Category::getAllKeyValue(), 'multiple' => true, 'attr' => ['class' => 'ui fluid dropdown']])->getForm(); $form->handleRequest($req); if ($req->isMethod('POST') && $form->isValid()) { $subscriber->save(); return $this->render('subscribe-successful.html.twig', []); } return $this->render('subscribe.html.twig', ['form' => $form->createView()]); }
public function getCategoriesString() { $categories = Category::getAllKeyValue(); $result = []; foreach ($this->categories as $i) { if (isset($categories[$i])) { $result[] = $categories[$i]; } } return implode(', ', $result); }
/** * @Route("/admin/subscriber/{id}/edit", name="admin.subscriber.edit") */ public function editAction(Request $req, $id) { $subscriber = new Subscriber(['id' => $id]); $subscriber->load(); $form = $this->createFormBuilder($subscriber)->add('name', 'text', [])->add('email', 'email', [])->add('categories', 'choice', ['choices' => Category::getAllKeyValue(), 'multiple' => true, 'attr' => ['class' => 'ui fluid dropdown']])->getForm(); $form->handleRequest($req); if ($req->isMethod('POST') && $form->isValid()) { $subscriber->save(); return $this->redirectToRoute('admin.subscriber'); } return $this->render('admin/subscriber/edit.html.twig', ['form' => $form->createView()]); }