X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~yarrgweb/git?p=ypp-sc-tools.db-test.git;a=blobdiff_plain;f=yarrg%2Fweb%2Fquery_route;h=296c0126f8989fb1a22c897605e197944a1771d0;hp=e9e358a433bc928b325a773651441b9ee25971d4;hb=742ec1631db983f22545c9c7d6d573865bdc85fa;hpb=608bc9e07b5c8a961325fd1b8d5b92f65418b949 diff --git a/yarrg/web/query_route b/yarrg/web/query_route index e9e358a..296c012 100644 --- a/yarrg/web/query_route +++ b/yarrg/web/query_route @@ -36,7 +36,10 @@ <%args> $quri $dbh +$prselector $routestring => ''; +$capacitystring => ''; +$lossperleague => ''; $someresults $emsgokorprint @@ -46,19 +49,33 @@ my $emsg; my @archipelagoes; my @islandids; my %islandid2; +my ($max_volume, $max_mass); +my $lossperleaguepct; my $qa= \%ARGS; + +my $be_post; +my $startform= sub { + ($be_post)= @_; +
+<%perl> +}; +my $goupdate= sub { $be_post ? 'Update' : 'Go' }; -%#---------- textbox, user enters route as string ---------- -% if (!$qa->{Dropdowns}) { +

Specify route

+% $prselector->('ShowStalls'); + +%#---------- textbox, user enters route as string ---------- +% if (!$qa->{Dropdowns}) { + Enter route (islands, or archipelagoes, separated by |s or commas; abbreviations are OK):
- +% $startform->($routestring =~ m/\S/); <&| qtextstring, qa => $qa, dbh => $dbh, thingstring => 'routestring', emsgstore => \$emsg, @@ -71,8 +88,45 @@ Enter route (islands, or archipelagoes, separated by |s or commas; size=80 +Advanced options - you may leave these blank: +

+ + +
+ +Vessel capacity: +<&| qtextstring, qa => $qa, dbh => $dbh, prefix => 'cs', + thingstring => 'capacitystring', emsgstore => \$emsg, + perresult => sub { + ($max_volume,$max_mass) = @_; + } + &> + size=30 + + + +  +  + + +Estimated loss per league: + +<&| qtextstring, qa => $qa, dbh => $dbh, prefix => 'll', + thingstring => 'lossperleague', emsgstore => \$emsg, + perresult => sub { ($lossperleaguepct)= @_; } + &> + size=10 + + +
+ % } else { #---------- dropdowns, user selects from menus ---------- +% $startform->(grep { +% defined $ARGS{"archipelago$_"} || +% defined $ARGS{"islandid$_"} +% } (0..$qa->{Dropdowns}-1)); + <%perl> my ($sth,$row); my @archlistdata; @@ -162,10 +216,11 @@ function ms_Setarch(dd) { % } #---------- end of dropdowns, now common middle of page code ---------- - -% my $ours= sub { $_[0] =~ m/^island|^archipelago|^routestring/; }; + +% my $ours= sub { $_[0] =~ +% m/^island|^archipelago|^routestring|^capacitystring|^lossperleague|^[RT]/; +% }; <& "lookup:formhidden", ours => $ours &> -

<%perl> #========== results ========== @@ -203,9 +258,15 @@ for my $dd (0..$qa->{Dropdowns}-1) { % if (@islandids) { -% $someresults->(); +% $someresults->('Relevant trades'); <& routetrade, dbh => $dbh, islandids => \@islandids, - archipelagoes => \@archipelagoes &> + archipelagoes => \@archipelagoes, + qa => $qa, + max_mass => $max_mass, + max_volume => $max_volume, + lossperleaguepct => $lossperleaguepct + &> + % }