예제 #1
0
 public function formEncode($entity, Form $form, AbstractType $formType)
 {
     $baseName = $formType->getName();
     $payload = array();
     foreach ($form->getIterator() as $el) {
         if (is_array($entity)) {
             $payload[$baseName . '[' . $el->getName() . ']'] = $entity[$el->getName()];
         }
     }
     return $payload;
 }
예제 #2
0
 protected function getEntityErrorMap($entity, AbstractType $formType = null)
 {
     /** @var ConstraintViolation[] $errors */
     $errors = $this->get('validator')->validate($entity);
     $mapping = [];
     foreach ($errors as $err) {
         if ($formType === null) {
             $mapping[$err->getPropertyPath()] = $err->getMessage();
         } else {
             $mapping[$formType->getName() . '_' . $err->getPropertyPath()] = $err->getMessage();
         }
     }
     return $mapping;
 }
예제 #3
0
 /**
  * @param AbstractType $type
  * @return \Symfony\Component\Form\Form
  */
 public function getFiltersForm($type)
 {
     if ($this->getRequest()->request->get('reset')) {
         $this->getRequest()->getSession()->set($type->getName() . '.filters', array());
     }
     $filters = $this->getRequest()->getSession()->get($type->getName() . '.filters', array());
     if (is_array($filters)) {
         foreach ($filters as $key => $filter) {
             if (is_object($filter)) {
                 $filters[$key] = $this->entityManager->merge($filter);
             }
         }
     }
     $filters_form = $this->formFactory->create($type, $filters);
     if (!$this->getRequest()->request->get('reset')) {
         $filters_form->handleRequest($this->getRequest());
         if ($filters_form->isValid()) {
             $filters = $filters_form->getData();
             $this->getRequest()->getSession()->set($type->getName() . '.filters', $filters);
         }
     }
     return $filters_form;
 }
예제 #4
0
 public function addFilter(AbstractType $filter)
 {
     $this->filters[$filter->getName()] = $filter;
 }
예제 #5
0
 public function assertTitle($expectedTitle)
 {
     $this->checkSetup();
     $this->assertEquals($expectedTitle, $this->formType->getName());
 }