Issue #2166863 by tim.plunkett, pwolanin: Add a formBuilder() method to ControllerBase.

8.0.x
webchick 2014-01-23 22:17:57 -08:00
parent 75c03922f8
commit 9de7379123
3 changed files with 22 additions and 3 deletions

View File

@ -93,6 +93,13 @@ abstract class ControllerBase {
*/
protected $moduleHandler;
/**
* The form builder.
*
* @var \Drupal\Core\Form\FormBuilderInterface
*/
protected $formBuilder;
/**
* Retrieves the entity manager service.
*
@ -188,6 +195,18 @@ abstract class ControllerBase {
return $this->moduleHandler;
}
/**
* Returns the form builder service.
*
* @return \Drupal\Core\Form\FormBuilderInterface
*/
protected function formBuilder() {
if (!$this->formBuilder) {
$this->formBuilder = $this->container()->get('form_builder');
}
return $this->formBuilder;
}
/**
* Returns the URL generator service.
*

View File

@ -49,8 +49,8 @@ class LocaleController extends ControllerBase {
*/
public function translatePage() {
return array(
'filter' => drupal_get_form('Drupal\locale\Form\TranslateFilterForm'),
'form' => drupal_get_form('Drupal\locale\Form\TranslateEditForm'),
'filter' => $this->formBuilder()->getForm('Drupal\locale\Form\TranslateFilterForm'),
'form' => $this->formBuilder()->getForm('Drupal\locale\Form\TranslateEditForm'),
);
}

View File

@ -38,7 +38,7 @@ class UserController extends ControllerBase {
else {
// Sets the proper request.
// @todo Remove when the request object is synchronized.
$form_builder = \Drupal::formBuilder();
$form_builder = $this->formBuilder();
$form_builder->setRequest($request);
$response = $form_builder->getForm('Drupal\user\Form\UserLoginForm');
}