diff --git a/application/forms/Navigation/NavigationItemForm.php b/application/forms/Navigation/NavigationItemForm.php index 0011b044c..cd6eca70d 100644 --- a/application/forms/Navigation/NavigationItemForm.php +++ b/application/forms/Navigation/NavigationItemForm.php @@ -4,6 +4,7 @@ namespace Icinga\Forms\Navigation; use Icinga\Web\Form; +use Icinga\Web\Url; class NavigationItemForm extends Form { @@ -71,4 +72,20 @@ class NavigationItemForm extends Form ) ); } + + /** + * {@inheritdoc} + */ + public function getValues($suppressArrayNotation = false) + { + $values = parent::getValues($suppressArrayNotation); + if (isset($values['url']) && $values['url']) { + $url = Url::fromPath($values['url']); + if (! $url->isExternal() && ($relativePath = $url->getRelativeUrl())) { + $values['url'] = $relativePath; + } + } + + return $values; + } }