Commit 1efd2ad0 authored by webchick's avatar webchick

Issue #2231413 by blueminds, tim.plunkett: Link field does not accept a valid path alias.

parent 6f0f10b2
......@@ -207,6 +207,12 @@ public function massageFormValues(array $values, array $form, array &$form_state
try {
$parsed_url = UrlHelper::parse($value['url']);
// If internal links are supported, look up whether the given value is
// a path alias and store the system path instead.
if ($this->supportsInternalLinks() && !UrlHelper::isExternal($value['url'])) {
$parsed_url['path'] = \Drupal::service('path.alias_manager.cached')->getSystemPath($parsed_url['path']);
}
$url = Url::createFromPath($parsed_url['path']);
$url->setOption('query', $parsed_url['query']);
$url->setOption('fragment', $parsed_url['fragment']);
......
......@@ -103,12 +103,15 @@ function testURLValidation() {
$this->assertFieldByName("{$field_name}[0][url]", '', 'Link URL field is displayed');
$this->assertRaw('placeholder="http://example.com"');
// Create a path alias.
\Drupal::service('path.alias_storage')->save('admin', 'a/path/alias');
// Define some valid URLs.
$valid_external_entries = array(
'http://www.example.com/',
);
$valid_internal_entries = array(
'entity_test/add',
'a/path/alias',
);
// Define some invalid URLs.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment