本文整理汇总了PHP中Symfony\Bundle\FrameworkBundle\Controller\Controller::createFormBuilder方法的典型用法代码示例。如果您正苦于以下问题:PHP Controller::createFormBuilder方法的具体用法?PHP Controller::createFormBuilder怎么用?PHP Controller::createFormBuilder使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Symfony\Bundle\FrameworkBundle\Controller\Controller
的用法示例。
在下文中一共展示了Controller::createFormBuilder方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: onController
public function onController(Controller $controller, Request $request)
{
$object = $this->admin->newObject();
$label = null;
if ($this->admin->tree && $this->admin->getTreeObjectId()) {
$label = $this->admin->trans('sf.tree.create.title', array('%object%' => $this->admin->string($this->admin->getTreeObject()), '%admin%' => $this->admin->getLabel()), $this->sf_domain);
} else {
$label = $this->admin->getFormLabel();
}
$list_url = $this->admin->path('list');
$this->admin->setFormOriginalObject($object);
$builder = $controller->createFormBuilder($object, array('label' => $label));
$this->admin->buildCreateForm($controller, $object, $builder, $this);
$this->buildFormReferer($request, $builder, $object, $list_url);
$form = $builder->getForm();
$this->setForm($form);
$dispatcher = $this->admin->getService('event_dispatcher');
$event = new \Symforce\AdminBundle\Event\FormEvent($form, $request);
$dispatcher->dispatch('sf.event.form', $event);
if (null !== $event->getResponse()) {
return $event->getResponse();
}
if ($request->isMethod('POST')) {
$form->handleRequest($request);
$this->admin->fireEvent('submit', $form);
if ($form->isValid()) {
$this->admin->onUpdate($controller, $request, $this, $object, $form);
if ($form->isValid()) {
$this->admin->update($object);
return $this->admin->afterUpdate($controller, $request, $this, $object, $form);
}
}
}
return $controller->render($this->template, array('sf_admin_loader' => $controller->get('sf.admin.loader'), 'admin' => $this->admin, 'action' => $this, 'form' => $form->createView()));
}
示例2: createFormBuilder
/**
* creates form builder with iframe params
* @see generateAppUrl
* @param null $data
* @param array $options
* @return \Symfony\Component\Form\FormBuilder
*/
public function createFormBuilder($data = null, array $options = array())
{
$builder = parent::createFormBuilder($data, $options);
/**
* @var $urlBuilder Url
*/
$urlBuilder = $this->get('dream_commerce_shop_appstore.url');
$listener = new AppFormListener($urlBuilder, $builder);
$builder->addEventListener(FormEvents::PRE_SUBMIT, array($listener, 'appendValidationTokens'));
return $builder;
}
示例3: onController
public function onController(Controller $controller, Request $request)
{
$object_id = (int) $this->admin->getRouteObjectId();
$page_object = null;
if ($object_id) {
$object = $this->admin->getRouteObject();
$page_object = $this->admin->getPageObject($object);
} else {
$object = null;
$page_object = $this->admin->getRootPageObject();
}
$page_admin = $this->admin->getPageAdmin();
$this->admin->setFormOriginalObject($object);
$builder = $controller->createFormBuilder($page_object, array('label' => $this->admin->getFormLabel()));
$list_url = $this->admin->path('list');
$update_action = $page_admin->getAction('update');
$page_admin->buildUpdateForm($controller, $page_object, $builder, $update_action);
$this->buildFormReferer($request, $builder, $object, $list_url);
$form = $builder->getForm();
$this->setForm($form);
$dispatcher = $this->admin->getService('event_dispatcher');
$event = new \Symforce\AdminBundle\Event\FormEvent($form, $request);
$dispatcher->dispatch('sf.event.form', $event);
if (null !== $event->getResponse()) {
return $event->getResponse();
}
if ($request->isMethod('POST')) {
$form->bind($request);
$this->admin->fireEvent('submit', $form);
if ($form->isValid()) {
$page_admin->onUpdate($controller, $request, $update_action, $page_object, $form);
if ($form->isValid()) {
$em = $this->admin->getManager();
$uow = $em->getUnitOfWork();
if ($object) {
// need copy propertie back to object ,
$this->admin->update($object);
} else {
$page_admin->update($page_object);
}
$request->getSession()->getFlashBag()->add('info', $this->trans('sf.action.update.finish', $object));
return $controller->redirect($this->getFormReferer($form));
}
}
}
return $controller->render($this->template, array('sf_admin_loader' => $controller->get('sf.admin.loader'), 'admin' => $this->admin, 'page_admin' => $page_admin, 'action' => $this, 'object' => $object, 'form' => $form->createView()));
}
示例4: onController
public function onController(Controller $controller, Request $request)
{
$object = $this->admin->getRouteObject();
$list_url = $this->admin->path('list');
if (!$object) {
$request->getSession()->getFlashBag()->add('error', 'not exists!');
return $controller->redirect($list_url);
}
/*
$tr = $controller->get('translator') ;
*/
$this->admin->setFormOriginalObject($object);
$builder = $controller->createFormBuilder($object, array('label' => $this->admin->getFormLabel()));
$this->admin->buildUpdateForm($controller, $object, $builder, $this);
$this->buildFormReferer($request, $builder, $object, $list_url);
$form = $builder->getForm();
$this->setForm($form);
$dispatcher = $this->admin->getService('event_dispatcher');
$event = new \Symforce\AdminBundle\Event\FormEvent($form, $request);
$dispatcher->dispatch('sf.event.form', $event);
if (null !== $event->getResponse()) {
return $event->getResponse();
}
if ($request->isMethod('POST')) {
$form->bind($request);
$this->admin->fireEvent('submit', $form);
if ($form->isValid()) {
$this->admin->onUpdate($controller, $request, $this, $object, $form);
if ($form->isValid()) {
$this->admin->update($object);
return $this->admin->afterUpdate($controller, $request, $this, $object, $form);
}
}
}
return $controller->render($this->template, array('sf_admin_loader' => $controller->get('sf.admin.loader'), 'admin' => $this->admin, 'action' => $this, 'form' => $form->createView()));
}
示例5: testCreateFormBuilder
public function testCreateFormBuilder()
{
$formBuilder = $this->getMock('Symfony\\Component\\Form\\FormBuilderInterface');
$formFactory = $this->getMock('Symfony\\Component\\Form\\FormFactoryInterface');
$formFactory->expects($this->once())->method('createBuilder')->willReturn($formBuilder);
$container = $this->getMock('Symfony\\Component\\DependencyInjection\\ContainerInterface');
$container->expects($this->at(0))->method('get')->will($this->returnValue($formFactory));
$controller = new Controller();
$controller->setContainer($container);
$this->assertEquals($formBuilder, $controller->createFormBuilder('foo'));
}
示例6: createFormBuilder
/**
* {@inheritdoc}
*/
public function createFormBuilder($data = null, array $options = array())
{
$this->checkCsrf($options);
return parent::createFormBuilder($data, $options);
}
示例7: createFormBuilder
public function createFormBuilder($data = null, array $options = array())
{
return parent::createFormBuilder($data, $options);
}
示例8: onController
public function onController(Controller $controller, Request $request)
{
$object = $this->admin->getRouteObject();
$list_url = $this->admin->path('list');
if (!$object) {
$request->getSession()->getFlashBag()->add('error', 'not exists!');
return $controller->redirect($this->admin->path('list'));
}
$admin_children = array();
$children = $this->admin->getAdminRouteChildren();
if ($children) {
foreach ($children as $child_admin_name => $o) {
if ($o[0]) {
throw new \Exception("unimplement");
}
$admin_children[$child_admin_name] = array();
$child_admin = $this->admin->getAdminLoader()->getAdminByName($child_admin_name);
$properties = $o[0] ? $o[1] : array($o[1]);
foreach ($properties as $config) {
$child_property = $config[0];
$my_property = $config[1];
$count = $child_admin->countBy($child_property, $object);
$admin_children[$child_admin_name][$child_property] = $count;
}
}
}
/**
* @var \Symfony\Component\Form\FormBuilder
*/
$builder = $controller->createFormBuilder($object, array('label' => $this->admin->getFormLabel(), 'constraints' => array(new \Symfony\Component\Validator\Constraints\Callback(function ($object, \Symfony\Component\Validator\Context\ExecutionContext $context) use($controller, $admin_children) {
foreach ($admin_children as $child_admin_name => $list) {
$child_admin = $this->admin->getAdminLoader()->getAdminByName($child_admin_name);
foreach ($list as $count) {
if ($count > 0) {
if (!$child_admin->auth('delete')) {
$error = $this->admin->trans('sf.action.delete.error.child', array('%admin%' => $this->admin->getLabel(), '%child%' => $child_admin->getLabel(), '%count%' => $count), $this->sf_domain);
$context->addViolation($error);
}
}
}
}
}))));
$this->buildFormReferer($request, $builder, $object, $list_url);
$form = $builder->getForm();
$this->setForm($form);
$dispatcher = $this->admin->getService('event_dispatcher');
$event = new \Symforce\AdminBundle\Event\FormEvent($form, $request);
$dispatcher->dispatch('sf.event.form', $event);
if (null !== $event->getResponse()) {
return $event->getResponse();
}
if ($request->isMethod('POST')) {
$form->bind($request);
$this->admin->fireEvent('submit', $form);
if ($form->isValid()) {
$msg = $this->trans('sf.action.delete.finish', $object);
$this->admin->remove($object);
$request->getSession()->getFlashBag()->add('info', $msg);
return $controller->redirect($this->getFormReferer($form));
}
}
return $controller->render($this->template, array('sf_admin_loader' => $controller->get('sf.admin.loader'), 'admin' => $this->admin, 'action' => $this, 'form' => $form->createView()));
}