X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FController%2FBase.pm;h=5847b98b5fd9e9b2840ecb86062d212e810be497;hb=f319b065b828d7ac69ecbef68bfb16b4f3415422;hp=d10ba805ce3bcdf0506f82b1854e86b5d587ce0c;hpb=aa85133ae4463f1b23045fb7543aa1eda606f147;p=kivitendo-erp.git diff --git a/SL/Controller/Base.pm b/SL/Controller/Base.pm index d10ba805c..5847b98b5 100644 --- a/SL/Controller/Base.pm +++ b/SL/Controller/Base.pm @@ -29,7 +29,7 @@ sub url_for { my %params = ref($_[0]) eq 'HASH' ? %{ $_[0] } : @_; my $controller = delete($params{controller}) || $self->controller_name; my $action = $params{action} || 'dispatch'; - my $fragment = delete $params{hash} // delete $params{fragment} // ''; + my $fragment = delete $params{fragment}; my $script; if ($controller =~ m/\.pl$/) { @@ -42,7 +42,7 @@ sub url_for { my $query = join '&', map { uri_encode($_->[0]) . '=' . uri_encode($_->[1]) } @{ flatten(\%params) }; - return "${script}?${query}" . ($fragment ? "#$fragment" : ''); + return "${script}?${query}" . (defined $fragment ? "#$fragment" : ''); } sub redirect_to { @@ -529,6 +529,9 @@ L. The action to call is given by C<$params{action}>. It defaults to C. +If C<$params{fragment}> is present, it's used as the fragment of the resulting +URL. + All other key/value pairs in C<%params> are appended as GET parameters to the URL.