Code Coverage |
||||||||||
Classes and Traits |
Functions and Methods |
Lines |
||||||||
| Total | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
CRAP | |
0.00% |
0 / 16 |
| ProductController | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
20 | |
0.00% |
0 / 16 |
| indexAction | |
0.00% |
0 / 1 |
20 | |
0.00% |
0 / 16 |
|||
| <?php | |
| namespace AppBundle\Controller\Admin; | |
| use AppBundle\Exception\InvalidProductException; | |
| use AppBundle\Form; | |
| use AppBundle\Products\Command\NewProductCommand; | |
| use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route; | |
| use Sensio\Bundle\FrameworkExtraBundle\Configuration\Security; | |
| use Symfony\Bundle\FrameworkBundle\Controller\Controller; | |
| use Symfony\Component\HttpFoundation\Request; | |
| /** | |
| * Class ProductController | |
| * @package AppBundle\Controller\Admin | |
| * | |
| * @Route("/admin") | |
| */ | |
| class ProductController extends Controller | |
| { | |
| /** | |
| * @Route("/new-product") | |
| * @Security("has_role('ROLE_USER')") | |
| * @param Request $request | |
| * @return \Symfony\Component\HttpFoundation\Response | |
| */ | |
| public function indexAction(Request $request) | |
| { | |
| $object = new NewProductCommand(); | |
| $formProduct = $this->createForm(Form\Product::class, $object); | |
| $formProduct->handleRequest($request); | |
| if ($formProduct->isSubmitted() && $formProduct->isValid()) { | |
| try { | |
| $this->get('product_handler')->handle($formProduct->getData()); | |
| return $this->redirectToRoute('homepage'); | |
| } catch (InvalidProductException $ex) { | |
| $this->get('session')->getFlashBag()->add('warning', $formProduct->getErrors(true, true)); | |
| } | |
| } | |
| return $this->render(':admin:productForm.html.twig', [ | |
| 'formProduct' => $formProduct->createView() | |
| ]); | |
| } | |
| } |