X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;ds=sidebyside;f=SL%2FController%2FBase.pm;h=285bfcee494a9a2ecea6ab5a95ba97ffd34287f9;hb=06cb6b127be7185927c6a3b32d16295d55e162ea;hp=42bf6bd6efc4a18191d734bc94aa27514c4c29a4;hpb=dd291d0063745160d7bf221ed21b65c77877cb92;p=kivitendo-erp.git diff --git a/SL/Controller/Base.pm b/SL/Controller/Base.pm index 42bf6bd6e..285bfcee4 100644 --- a/SL/Controller/Base.pm +++ b/SL/Controller/Base.pm @@ -30,7 +30,12 @@ sub redirect_to { my $self = shift; my $url = $self->url_for(@_); - print $::cgi->redirect($url); + if ($self->delay_flash_on_redirect) { + require SL::Helper::Flash; + SL::Helper::Flash::delay_flash(); + } + + print $::request->{cgi}->redirect($url); } sub render { @@ -152,6 +157,14 @@ sub _run_hooks { } } +# +# behaviour. override these +# + +sub delay_flash_on_redirect { + 0; +} + # # private functions -- for use in Base only # @@ -329,7 +342,7 @@ containing the template code to interprete. Additionally the output will not be sent to the browser. Instead it is only returned to the caller. -If C<< $options->{raw}>> is trueish, the function will treat the input as +If C<< $options->{raw} >> is trueish, the function will treat the input as already parsed, and will not filter the input through Template. Unlike C, the input is taked as a reference. @@ -482,6 +495,12 @@ action. The hook's return values are discarded. +=item delay_flash_on_redirect + +May be overridden by a controller. If this method returns true, redirect_to +will delay all flash messages for the current request. Defaults to false for +compatibility reasons. + =back =head2 PRIVATE FUNCTIONS