diff --git a/core/lib/Drupal/Core/Entity/EntityCreateAccessCheck.php b/core/lib/Drupal/Core/Entity/EntityCreateAccessCheck.php index 3e52238..2fb3233 100644 --- a/core/lib/Drupal/Core/Entity/EntityCreateAccessCheck.php +++ b/core/lib/Drupal/Core/Entity/EntityCreateAccessCheck.php @@ -44,19 +44,11 @@ public function applies(Route $route) { * {@inheritdoc} */ public function access(Route $route, Request $request) { - $split = explode(':', $route->getRequirement('_entity_create_access')); - if (count($split) == 2) { - list($entity_type, $bundle) = $split; - } - else { - $entity_type = array_pop($split); - $bundle = ''; - } + list($entity_type, $bundle) = explode(':', $route->getRequirement('_entity_create_access') . ':'); $definition = $this->entityManager->getDefinition($entity_type); $values = $this->prepareEntityValues($definition, $request, $bundle); - // Pass in the entity bundle if given and required. $entity = $this->entityManager->getStorageController($entity_type) ->create($values); @@ -71,12 +63,12 @@ public function access(Route $route, Request $request) { * @param \Symfony\Component\HttpFoundation\Request $request * The request object. * @param string $bundle - * (optional) The bundle to check access for. Defaults to an empty string. + * (optional) The bundle to check access for. * * @return array - * The modified values to be used to create the entity. + * An array of values to be used when creating the entity. */ - protected function prepareEntityValues(array $definition, Request $request, $bundle = '') { + protected function prepareEntityValues(array $definition, Request $request, $bundle = NULL) { $values = array(); if ($bundle && isset($definition['entity_keys']['bundle'])) { $values[$definition['entity_keys']['bundle']] = $bundle;