diff --git a/core/lib/Drupal/Core/Entity/EntityCreateAccessCheck.php b/core/lib/Drupal/Core/Entity/EntityCreateAccessCheck.php index 9110f69..62015f2 100644 --- a/core/lib/Drupal/Core/Entity/EntityCreateAccessCheck.php +++ b/core/lib/Drupal/Core/Entity/EntityCreateAccessCheck.php @@ -57,11 +57,29 @@ public function access(Route $route, Request $request) { if ($bundle && isset($definition['entity_keys']['bundle'])) { $values[$definition['entity_keys']['bundle']] = $bundle; } + // Allow further manipulation of the entity values. + $values = $this->prepareEntityValues($values, $definition, $request); $entity = $this->entityManager->getStorageController($entity_type) ->create($values); return $this->entityManager->getAccessController($entity_type)->access($entity, 'create'); } + /** + * Performs further manipulation of the entity values. + * + * @param array $values + * The values to be passed to \Drupal\Core\Entity\EntityInterface::create(). + * @param array $definition + * The entity type definition. + * @param \Symfony\Component\HttpFoundation\Request $request + * The request object. + * + * @return array + * The modified values to be used to create the entity. + */ + protected function prepareEntityValues(array $values, array $definition, Request $request) { + return $values; + } }