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; }
/** * {@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; }
public function invoke(Request $request) { $type = new LoginFormType($request); $builder = $this->formFactory->createBuilder($type, [], ['action' => $this->checkPath]); $form = $builder->getForm(); return ['form' => $form->createView()]; }
/** * @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); } }
/** * {@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(); }
/** * 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(); }
/** * 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(); }
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']); }
/** * {@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; }
/** * @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(); }
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); }
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(); }
/** * 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; }
/** * Creates a form * * @param Post $post * * @return Form */ public function createForm(Post $post) { $builder = $this->formFactory->createBuilder($this->type, $post); return $builder->getForm(); }
/** * 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(); }
/** * Creates a form * * @param Topic $topic * * @return Form */ public function createForm(Topic $topic) { $builder = $this->formFactory->createBuilder($this->type, $topic); return $builder->getForm(); }