[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