[cgiapp] Problem with prerun_mode call from builder_controllers
Ron Savage
ron at savage.net.au
Thu Feb 11 18:03:04 EST 2010
Hi Erez
On Thu, 2010-02-11 at 17:21 +0200, Erez David wrote:
> Hi,
>
> I am using the cgiapp_prerun in order to check some condition before moving
> run-mode (Each tab in the application is a run mode...). if the condition is
> match then I want to move to other run-mod.
>
> The code is:
> sub cgiapp_prerun{
> my $self = shift;
> my $run_mode = shift;
> if ($run_mode eq 'run_mod2'){
> # Do some stuf...
> $self->prerun_mode('run_mod3');
> }
> }
>
> and indeed the application goes to run_mod2 but than it stuck there... even
> when I go to other run modes (run_mod4, run_mod5 etc...) it is still stuck
> in run_mod 3.
>
>
> Is there something wrong I am doing here?
There must be something wrong, or you wouldn't be asking for help :-).
It suggests to me that the code (CGI form submission data) is sending
run_mod2 each time, and not what you think it is sending.
I suggest you put some logging code in that sub and report both the run
mode and the CGI form parameters.
In cgiapp_prerun I always call a sub which does this (among other
things):
# Log the CGI form parameters.
my($q) = $self -> query;
$self -> log(info => '');
$self -> log(info => $q -> url(-full => 1, -path => 1) );
$self -> log(info => "Param: $_: " . $q -> param($_) ) for $q -> param;
--
Ron Savage
ron at savage.net.au
http://savage.net.au/index.html
More information about the cgiapp
mailing list