/** * @param \FSi\Bundle\AdminBundle\Event\FormEvent $event * @param \Symfony\Component\Form\Form $form * @param \FSi\Bundle\AdminBundle\Message\FlashMessages $flashMessages */ public function it_set_error_message_when_form_is_invalid($event, $form, $flashMessages) { $event->getForm()->willReturn($form); $form->isValid()->willReturn(false); $flashMessages->error('messages.form.error')->shouldBeCalled(); $this->onFormRequestPostSubmit($event); }
/** * @param \FSi\Bundle\AdminBundle\Event\FormEvent $event */ protected function action(FormEvent $event, Request $request) { /* @var $element \FSi\Bundle\AdminBundle\Admin\ResourceRepository\GenericResourceElement */ $element = $event->getElement(); $data = $event->getForm()->getData(); foreach ($data as $resource) { $element->save($resource); } }
/** * @param \FSi\Bundle\AdminBundle\Event\FormEvent $event * @param \Symfony\Component\HttpFoundation\Request $request * @param \Symfony\Component\HttpFoundation\ParameterBag $requestParameterbag * @param \Symfony\Component\EventDispatcher\EventDispatcher $eventDispatcher * @param \Symfony\Component\Form\Form $form * @param \FSi\Bundle\AdminBundle\Admin\CRUD\BatchElement $element * @param \FSi\Component\DataIndexer\DataIndexerInterface $dataIndexer */ function it_return_response_from_post_apply_event($event, $request, $requestParameterbag, $eventDispatcher, $form, $element, $dataIndexer) { $request->isMethod('POST')->willReturn(true); $request->request = $requestParameterbag; $requestParameterbag->get('indexes', array())->willReturn(array('index')); $event->getForm()->willReturn($form); $form->isValid()->willReturn(true); $eventDispatcher->dispatch(BatchEvents::BATCH_OBJECTS_PRE_APPLY, $event)->shouldBeCalled(); $form->getData()->willReturn(new \stdClass()); $event->getElement()->willReturn($element); $element->getDataIndexer()->willReturn($dataIndexer); $dataIndexer->getData('index')->willReturn(new \stdClass()); $element->apply(Argument::type('stdClass'))->shouldBeCalled(); $eventDispatcher->dispatch(BatchEvents::BATCH_OBJECTS_POST_APPLY, $event)->will(function () use($event) { $event->hasResponse()->willReturn(true); $event->getResponse()->willReturn(new Response()); }); $this->handleRequest($event, $request)->shouldReturnAnInstanceOf('Symfony\\Component\\HttpFoundation\\Response'); }
public function onFormRequestPostSubmit(FormEvent $event) { if (!$event->getForm()->isValid()) { $this->flashMessages->error('messages.form.error'); } }
/** * @param \FSi\Bundle\AdminBundle\Event\FormEvent $event * @param \Symfony\Component\HttpFoundation\Request $request */ protected function action(FormEvent $event, Request $request) { $event->getElement()->save($event->getForm()->getData()); }
/** * @param \FSi\Bundle\AdminBundle\Event\FormEvent $event * @param \Symfony\Component\HttpFoundation\Request $request * @return bool */ protected function isValidPostRequest(FormEvent $event, Request $request) { return $request->isMethod('POST') && $event->getForm()->isValid(); }
/** * @param \FSi\Bundle\AdminBundle\Event\FormEvent $event * @param \Symfony\Component\HttpFoundation\Request $request * @param \Symfony\Component\EventDispatcher\EventDispatcher $eventDispatcher * @param \Symfony\Component\Form\Form $form * @param \FSi\Bundle\AdminBundle\Doctrine\Admin\ResourceElement $element */ function it_return_response_from_post_entity_save_event($event, $request, $eventDispatcher, $form, $element) { $request->isMethod('POST')->willReturn(true); $event->getForm()->willReturn($form); $form->isValid()->willReturn(true); $eventDispatcher->dispatch(FormEvents::FORM_DATA_PRE_SAVE, $event)->shouldBeCalled(); $form->getData()->willReturn(array(new Resource(), new Resource())); $event->getElement()->willReturn($element); $element->save(Argument::type('FSi\\Bundle\\AdminBundle\\spec\\fixtures\\Entity\\Resource'))->shouldBeCalledTimes(2); $eventDispatcher->dispatch(FormEvents::FORM_DATA_POST_SAVE, $event)->will(function () use($event) { $event->hasResponse()->willReturn(true); $event->getResponse()->willReturn(new Response()); }); $this->handleRequest($event, $request)->shouldReturnAnInstanceOf('Symfony\\Component\\HttpFoundation\\Response'); }
/** * @param \FSi\Bundle\AdminBundle\Event\FormEvent $event * @param \Symfony\Component\HttpFoundation\Request $request * @param \Symfony\Component\EventDispatcher\EventDispatcher $eventDispatcher * @param \Symfony\Component\Form\Form $form * @param \FSi\Bundle\AdminBundle\Admin\CRUD\FormElement $element */ function it_return_response_from_post_data_save_event($event, $request, $eventDispatcher, $form, $element) { $request->isMethod('POST')->willReturn(true); $event->getForm()->willReturn($form); $form->isValid()->willReturn(true); $eventDispatcher->dispatch(FormEvents::FORM_DATA_PRE_SAVE, $event)->shouldBeCalled(); $form->getData()->willReturn(new \stdClass()); $event->getElement()->willReturn($element); $element->save(Argument::type('stdClass'))->shouldBeCalled(); $eventDispatcher->dispatch(FormEvents::FORM_DATA_POST_SAVE, $event)->will(function () use($event) { $event->hasResponse()->willReturn(true); $event->getResponse()->willReturn(new Response()); }); $this->handleRequest($event, $request)->shouldReturnAnInstanceOf('Symfony\\Component\\HttpFoundation\\Response'); }