Problem/Motivation
protected function buildAccountForm($operation) {
// @see HtmlEntityFormController::getFormObject()
$entity_type = 'user';
$fields = [];
if ($operation != 'register') {
$fields['uid'] = 2;
}
$entity = $this->container->get('entity_type.manager')
->getStorage($entity_type)
->create($fields);
$this->container->get('entity_type.manager')
->getFormObject($entity_type, $operation)
->setEntity($entity);
// @see EntityFormBuilder::getForm()
return $this->container->get('entity.form_builder')->getForm($entity, $operation);
}
Proposed resolution
code is repeated in \Drupal\Core\Entity\EntityFormBuilder::getForm() so the getFormObject call is not needed.
protected function buildAccountForm($operation) {
// @see HtmlEntityFormController::getFormObject()
$entity_type = 'user';
$fields = [];
if ($operation != 'register') {
$fields['uid'] = 2;
}
$entity = $this->container->get('entity_type.manager')
->getStorage($entity_type)
->create($fields);
// @see EntityFormBuilder::getForm()
return $this->container->get('entity.form_builder')->getForm($entity, $operation);
}
Remaining tasks
- Write a patch
- Review
- Commit
User interface changes
None.
API changes
None.
Data model changes
None.
Comments
Comment #2
hardik_patel_12 commentedComment #3
hardik_patel_12 commentedKindly review the patch.
Comment #4
hardik_patel_12 commentedComment #5
vijaycs85Looks good.
Comment #9
catchCommitted/pushed to 9.1.x and backported through to 8.9.x to keep tests in sync. Thanks!