示例#1
0
 public function getForm(ResourceInterface $resource)
 {
     $resourceClassName = \Doctrine\Common\Util\ClassUtils::getClass($resource);
     $resourceParts = explode("\\", $resourceClassName);
     $resourceParts[count($resourceParts) - 2] = 'Form';
     $resourceParts[count($resourceParts) - 1] .= 'Type';
     $formType = implode("\\", $resourceParts);
     if (class_exists($formType)) {
         return $this->formFactory->create(new $formType(), $resource);
     }
     $options = array('data_class' => $resourceClassName);
     $builder = $this->formFactory->createBuilder('form', $resource, $options);
     $reflectionClass = new \ReflectionClass($resourceClassName);
     $annotationClass = 'uebb\\HateoasBundle\\Annotation\\FormField';
     foreach ($reflectionClass->getProperties() as $propertyReflection) {
         /**
          * @var \uebb\HateoasBundle\Annotation\FormField $annotation
          */
         $annotation = $this->annotationReader->getPropertyAnnotation($propertyReflection, $annotationClass);
         if ($annotation) {
             $builder->add($propertyReflection->getName(), $annotation->type, is_array($annotation->options) ? $annotation->options : array());
         }
     }
     $form = $builder->getForm();
     return $form;
 }
示例#2
0
 /**
  * {@inheritdoc}
  */
 public function create($namespace, $data = null, array $options = [])
 {
     $schema = $this->schemaRegistry->getSchema($namespace);
     $builder = $this->formFactory->createBuilder('form', $data, array_merge_recursive(['data_class' => null], $options));
     $schema->buildForm($builder);
     return $builder->getForm();
 }
 /**
  * @return FormBuilderInterface
  */
 protected function getFormBuilder()
 {
     if (!$this->formBuilder) {
         $this->formBuilder = $this->formFactory->createBuilder($this->getFormType(), [], array_merge($this->getOr(FilterUtility::FORM_OPTIONS_KEY, []), ['csrf_protection' => false]));
     }
     return $this->formBuilder;
 }
示例#4
0
 public function invoke(Request $request)
 {
     $type = new LoginFormType($request);
     $builder = $this->formFactory->createBuilder($type, [], ['action' => $this->checkPath]);
     $form = $builder->getForm();
     return ['form' => $form->createView()];
 }
示例#5
0
 /**
  * @Route("/contact", name="contact_route")
  * @param Request $request
  * @return \Symfony\Component\HttpFoundation\Response
  */
 public function contactAction(Request $request)
 {
     /** @var AnonymousToken $token */
     $token = $this->tokenStorage->getToken();
     /** @var User $user */
     $user = $token->getUser();
     $contact = new Contact();
     if ($user !== 'anon.') {
         /** @var User $user */
         $contact->setEmail($user->getEmail());
         $contact->setUser($user);
     }
     $emailGetParam = $request->query->get('email');
     if (!empty($emailGetParam)) {
         $contact->setEmail($emailGetParam);
     }
     $form = $this->formFactory->createBuilder(FormType::class, $contact)->add('email', TextType::class, ['attr' => ['placeholder' => '*****@*****.**']])->add('message', TextareaType::class, ['attr' => ['maxlength' => 1000, 'rows' => 10]])->add('submit', SubmitType::class, ['label' => 'Envoyer'])->getForm();
     $form->handleRequest($request);
     if ($form->isValid()) {
         $this->contactService->record($contact);
         $this->session->getFlashBag()->add(static::FLASH_BAG_EMAIL, $contact->getEmail());
         return new RedirectResponse($this->router->generate('confirmation_contact_route'));
     } else {
         return new Response($this->templating->render('base.html.twig', [TwigNodeTemplateTreeSection::TEMPLATE_TREE_BRANCH => 'contact', 'form' => $form->createView()]), $form->isSubmitted() ? Response::HTTP_BAD_REQUEST : Response::HTTP_OK);
     }
 }
示例#6
0
 /**
  * {@inheritdoc}
  */
 public function create($namespace)
 {
     $schema = $this->schemaRegistry->getSchema($namespace);
     $builder = $this->formFactory->createBuilder('form', null, array('data_class' => null));
     $schema->buildForm($builder);
     return $builder->getForm();
 }
 /**
  * Gets the form
  *
  * @param  \Sonata\AdminBundle\Util\AdminObjectAclData $data
  * @return \Symfony\Component\Form\Form
  */
 public function createForm(AdminObjectAclData $data)
 {
     // Retrieve object identity
     $objectIdentity = ObjectIdentity::fromDomainObject($data->getObject());
     $acl = $data->getSecurityHandler()->getObjectAcl($objectIdentity);
     if (!$acl) {
         $acl = $data->getSecurityHandler()->createAcl($objectIdentity);
     }
     $data->setAcl($acl);
     $masks = $data->getMasks();
     // Create a form to set ACL
     $formBuilder = $this->formFactory->createBuilder('form');
     foreach ($data->getAclUsers() as $aclUser) {
         $securityIdentity = UserSecurityIdentity::fromAccount($aclUser);
         foreach ($data->getUserPermissions() as $permission) {
             try {
                 $checked = $acl->isGranted(array($masks[$permission]), array($securityIdentity));
             } catch (NoAceFoundException $e) {
                 $checked = false;
             }
             $formBuilder->add($aclUser->getId() . $permission, 'checkbox', array('required' => false, 'data' => $checked));
         }
     }
     $form = $formBuilder->getForm();
     $data->setForm($form);
     return $form;
 }
 public function build(GenericResourceElement $element)
 {
     $resources = $this->getResourceGroup($element->getKey());
     $builder = $this->formFactory->createBuilder('form', $this->createFormData($element, $element->getRepository(), $resources), $element->getResourceFormOptions());
     $this->buildForm($element, $builder, $resources);
     return $builder->getForm();
 }
 /**
  * {@inheritdoc}
  */
 public function create($schemaAlias, $data = null, array $options = [])
 {
     /** @var SchemaInterface $schema */
     $schema = $this->schemaRegistry->get($schemaAlias);
     $builder = $this->formFactory->createBuilder('form', $data, array_merge_recursive(['data_class' => null], $options));
     $schema->buildForm($builder);
     return $builder->getForm();
 }
示例#10
0
 /**
  * Creates a form
  *
  * @param CategoryInterface $category
  *
  * @return Form
  */
 public function createForm(CategoryInterface $category)
 {
     $topic = new $this->modelClass();
     $topic->setCategory($category);
     $topic->setUser($this->getAuthenticatedUser());
     $builder = $this->formFactory->createBuilder($this->type, $topic);
     return $builder->getForm();
 }
示例#11
0
 /**
  * Creates a form
  *
  * @param TopicInterface $topic
  *
  * @return Form
  */
 public function createForm(TopicInterface $topic)
 {
     $post = new $this->modelClass();
     $post->setTopic($topic);
     $post->setUser($this->getAuthenticatedUser());
     $builder = $this->formFactory->createBuilder($this->type, $post);
     return $builder->getForm();
 }
示例#12
0
 public function testLabelPrefix()
 {
     $form = $this->factory->createBuilder(FormType::class, null, ['label_prefix' => $labelPrefix = 'prefix'])->add($buttonName = 'button', ButtonType::class)->getForm();
     $view = $form->createView();
     $buttonView = $view->children[$buttonName];
     $this->assertArrayHasKey('label', $buttonView->vars);
     $this->assertSame($labelPrefix . '.' . $buttonName, $buttonView->vars['label']);
 }
示例#13
0
 /**
  * {@inheritdoc}
  */
 public function createForm(array $options)
 {
     $builder = $this->formFactory->createBuilder($this->type, $this->entity, $options);
     if ($this->action !== null) {
         $builder->setAction($this->action);
     }
     $this->form = $builder->getForm();
     return $this->form;
 }
示例#14
0
 /**
  * @return FormInterface
  */
 public function buildForm()
 {
     $builder = $this->formFactory->createBuilder('form', null);
     foreach ($this->tabs as $tab) {
         $tab->buildForm($builder);
     }
     $this->form = $builder->getForm();
     return $this->form;
 }
 /**
  * @return FormInterface
  */
 public function buildForm()
 {
     $builder = $this->formFactory->createBuilder('form', null, array('cascade_validation' => true));
     foreach ($this->tabs as $tab) {
         $tab->buildForm($builder);
     }
     $this->form = $builder->getForm();
     return $this->form;
 }
    /**
     * {@inheritDoc}
     */
    public function getFormBuilder()
    {
        $formBuilder = $this->formFactory->createBuilder('payum_payment_config', $this->getSubject(), array(
            'data_class' => get_class($this->getSubject()),
        ));

        $this->defineFormBuilder($formBuilder);

        return $formBuilder;
    }
 /**
  * @param Request $request
  * @return Response
  */
 public function indexAction(Request $request)
 {
     $options = ['action' => '/', 'method' => 'GET', 'csrf_protection' => false];
     $defaults = ['content' => ' '];
     $form = $this->form->createBuilder(FormType::class, $defaults, $options)->add('content', TextType::class, ['required' => false])->getForm();
     $form->handleRequest($request);
     $data = $defaults;
     if ($form->isValid()) {
         $data = $form->getData();
     }
     list($path, $filenamePaths) = $this->searchFile($data['content']);
     // replace this example code with whatever you need
     return new Response($this->twig->render('default/index.html.twig', ['path' => $path, 'files' => $filenamePaths, 'form' => $form->createView()]));
 }
 /**
  * @param string|FormTypeInterface $formType
  * @param InputInterface           $input
  * @param array                    $options
  *
  * @return \Symfony\Component\Form\Form
  */
 public function create($formType, InputInterface $input, array $options = [])
 {
     $options = $this->addDefaultOptions($options);
     $formBuilder = $this->formFactory->createBuilder($formType, null, $options);
     foreach ($formBuilder as $name => $childBuilder) {
         /* @var FormBuilderInterface $childBuilder */
         if (!$input->hasOption($name)) {
             continue;
         }
         $providedValue = $input->getOption($name);
         if ($providedValue === null) {
             continue;
         }
         $childBuilder->setData($providedValue);
     }
     return $formBuilder->getForm();
 }
示例#19
0
 function it_should_create_a_form_for_given_schema_namespace(FormInterface $form, FormBuilder $formBuilder, FormFactoryInterface $formFactory, SchemaInterface $schema, ServiceRegistryInterface $schemaRegistry)
 {
     $schemaRegistry->get('sylius_general')->willReturn($schema);
     $formFactory->createBuilder('form', null, ['data_class' => null])->willReturn($formBuilder);
     $schema->buildForm($formBuilder)->shouldBeCalled()->willReturn($formBuilder);
     $formBuilder->getForm()->willReturn($form);
     $this->create('sylius_general')->shouldReturn($form);
 }
 /**
  * {@inheritdoc}
  */
 public function execute(BlockContextInterface $blockContext, Response $response = null)
 {
     $product = $blockContext->getSetting('product');
     if (null === $product) {
         return $this->renderResponse($blockContext->getTemplate(), array('context' => $blockContext, 'settings' => $blockContext->getSettings(), 'block' => $blockContext->getBlock(), 'choices' => array(), 'form' => null), $response);
     }
     $fields = $blockContext->getSetting('variations_properties');
     $choices = $this->pool->getProvider($product)->getVariationsChoices($product, $fields);
     $accessor = PropertyAccess::createPropertyAccessor();
     $currentValues = array();
     foreach ($choices as $field => $values) {
         $currentValues[$field] = array_search($accessor->getValue($product, $field), $values);
     }
     $form = $this->formFactory->createBuilder('sonata_product_variation_choices', $currentValues, array('field_options' => $blockContext->getSetting('form_field_options'), 'product' => $product, 'fields' => $fields))->getForm();
     $params = array('context' => $blockContext, 'settings' => $blockContext->getSettings(), 'block' => $blockContext->getBlock(), 'choices' => $choices, 'form' => $form->createView());
     return $this->renderResponse($blockContext->getTemplate(), $params, $response);
 }
 /**
  * @param \Symfony\Component\Form\FormFactoryInterface $formFactory
  * @param \Symfony\Component\Form\Test\FormBuilderInterface $formBuilder
  * @param \FSi\Bundle\AdminBundle\Admin\ResourceRepository\GenericResourceElement $element
  * @param \FSi\Bundle\ResourceRepositoryBundle\Model\ResourceValueRepository $valueRepository
  * @param \FSi\Bundle\ResourceRepositoryBundle\Model\ResourceValue $resourceValue
  * @param \Symfony\Component\Form\FormInterface $form
  */
 function it_builds_form_for_resource_group($formFactory, $formBuilder, $element, $valueRepository, $resourceValue, $form)
 {
     $element->getKey()->willReturn('resources');
     $valueRepository->get('resources.resource_key')->willReturn($resourceValue);
     $formFactory->createBuilder('form', array('resources_resource_key' => $resourceValue), array('form_options'))->willReturn($formBuilder);
     $formBuilder->add('resources_resource_key', 'resource', array('resource_key' => 'resources.resource_key'))->shouldBeCalled();
     $formBuilder->getForm()->willReturn($form);
     $this->build($element)->shouldReturn($form);
 }
示例#22
0
 public function testLabelPrefixWithAllowDelete()
 {
     $this->factory = Forms::createFormFactoryBuilder()->addTypeExtension($this->extension)->addTypeExtension(new CollectionExtension(new CollectionSubscriberMock()))->getFormFactory();
     $form = $this->factory->createBuilder(FormType::class, null, ['label_prefix' => $labelPrefix = 'prefix'])->add($fieldName = 'field', CollectionType::class, ['allow_delete' => true])->getForm()->submit([]);
     $view = $form->createView();
     $fieldView = $view->children[$fieldName];
     $this->assertArrayHasKey('label', $fieldView->vars);
     $this->assertSame($labelPrefix . '.' . $fieldName . '.label', $fieldView->vars['label']);
     $this->assertArrayHasKey('label_delete', $fieldView->vars);
     $this->assertSame($labelPrefix . '.' . $fieldName . '.delete', $fieldView->vars['label_delete']);
 }
 /**
  * Creates a form.
  *
  * @param array $config The form configuration.
  *
  * @return \Symfony\Component\Form\FormInterface The form.
  */
 protected function createForm(array $config)
 {
     $builder = $this->factory->createBuilder();
     foreach ($config as $name => $value) {
         if (is_string($value) && is_string($name) || is_array($value)) {
             $builder->add($name, 'form', array('position' => $value));
         } else {
             $builder->add($value, 'form');
         }
     }
     return $builder->getForm();
 }
示例#24
0
 /**
  * Gets a form
  *
  * @param array $parameters Parameters
  *
  * @return \Symfony\Component\Form\Form
  * @author r1pp3rj4ck <*****@*****.**>
  */
 public function getForm(array $parameters)
 {
     $formData = array();
     $validationArray = array();
     foreach ($parameters as $key => $value) {
         if (isset($value['value'])) {
             $formData[$key] = $value['value'];
         }
         if (isset($value['validation'])) {
             $validationArray[$key] = $value['validation'];
         }
     }
     $validationConstraint = new Collection($validationArray);
     $form = $this->formFactory->createBuilder('form', $formData, array('validation_constraint' => $validationConstraint));
     foreach ($parameters as $key => $value) {
         if (isset($value['options'])) {
             $form->add($key, $value['type'], $value['options']);
         } else {
             $form->add($key, $value['type']);
         }
     }
     return $form->getForm();
 }
 /**
  * Creates and returns a form builder instance
  *
  * @param mixed $data    The initial data for the form
  * @param array $options Options for the form
  *
  * @return FormBuilder
  */
 public function createFormBuilder($data = null, array $options = array())
 {
     return $this->formFactory->createBuilder('form', $data, $options);
 }
 private function makeForm()
 {
     return $this->factory->createBuilder('infinite_form_entity_search', null, array('invalid_message' => 'Item not found', 'class' => 'Infinite\\FormBundle\\Tests\\EntitySearch\\Entity\\Fruit'))->getForm();
 }
 /**
  * Creates FormBuilder and populates it
  *
  * @param object $model data object
  * @param string $form view to generate
  * @param array $context
  * @return FormBuilderInterface
  */
 public function createFormBuilder($model, $form = 'default', $context = array())
 {
     $fb = $this->formFactory->createBuilder(FieldTypeMapper::map('form'), $model);
     $this->populateFormBuilder($fb, $model, $form, $context);
     return $fb;
 }
示例#28
0
 /**
  * Creates a form
  *
  * @param Post $post
  *
  * @return Form
  */
 public function createForm(Post $post)
 {
     $builder = $this->formFactory->createBuilder($this->type, $post);
     return $builder->getForm();
 }
示例#29
0
 /**
  * Gets form
  *
  * @param \Mautic\ReportBundle\Entity\Report $entity  Report Entity
  * @param array                              $options Parameters set by the caller
  *
  * @return \Symfony\Component\Form\Form
  */
 public function getForm(Report $entity, $options)
 {
     return $this->formFactory->createBuilder('report', $entity, $options)->getForm();
 }
示例#30
0
 /**
  * Creates a form
  *
  * @param Topic $topic
  *
  * @return Form
  */
 public function createForm(Topic $topic)
 {
     $builder = $this->formFactory->createBuilder($this->type, $topic);
     return $builder->getForm();
 }