chiark / gitweb /
Break out code for dbw_lookup_string; support capacity adjustments in terms of commod...
[ypp-sc-tools.web-live.git] / yarrg / web / query_route
index 759c9c547cbd92f01f39a6e9bda8e900a651d6d5..8b491d93a99aca47c41b8a77306648c10975acf1 100644 (file)
@@ -39,6 +39,8 @@ $dbh
 $prselector
 $routestring => '';
 $capacitystring => '';
+$lossperleague => '';
+$capitalstring => '';
 $someresults
 $emsgokorprint
 </%args>
@@ -49,6 +51,8 @@ my @archipelagoes;
 my @islandids;
 my %islandid2;
 my ($max_volume, $max_mass);
+my $lossperleaguepct;
+my $capital;
 
 my $qa= \%ARGS;
 
@@ -77,24 +81,62 @@ Enter route (islands, or archipelagoes, separated by |s or commas;
 
 <&| qtextstring, qa => $qa, dbh => $dbh,
     thingstring => 'routestring', emsgstore => \$emsg,
-    perresult => sub {
-       my ($canonname, $island, $arch) = @_;
-       push @islandids, $island;
-       push @archipelagoes, defined $island ? undef : $arch;
+    onresults => sub {
+       foreach (@_) {
+       my ($canonname, $island, $arch) = @$_;
+               push @islandids, $island;
+               push @archipelagoes, defined $island ? undef : $arch;
+       }
     }
  &>
  size=80
 </&>
 
-Vessel capacity:
+<strong>Advanced options - you may leave these blank:</strong>
+<p>
+<table>
+<tr>
+<td>
+
+Vessel or capacity:
 <&| qtextstring, qa => $qa, dbh => $dbh, prefix => 'cs',
     thingstring => 'capacitystring', emsgstore => \$emsg,
-    perresult => sub {
-        ($max_volume,$max_mass) = @_;
-    }
+    helpref => 'capacity',
+    onresults => sub { ($max_mass,$max_volume) = @_; }
  &>
+ size=40
 </&>
 
+<td>
+&nbsp;
+&nbsp;
+
+<td>
+Expected losses:
+
+<&| qtextstring, qa => $qa, dbh => $dbh, prefix => 'll',
+    thingstring => 'lossperleague', emsgstore => \$emsg,
+    helpref => 'losses',
+    onresults => sub { ($lossperleaguepct)= @_; }
+ &>
+ size=9
+</&>
+</tr>
+<tr>
+
+<td>Available capital:
+
+<&| qtextstring, qa => $qa, dbh => $dbh, prefix => 'ac',
+    thingstring => 'capitalstring', emsgstore => \$emsg,
+    helpref => 'capital',
+    onresults => sub { ($capital)= @_; }
+ &>
+ size=9
+</&>
+</td>
+</tr>
+</table>
+
 % } else { #---------- dropdowns, user selects from menus ----------
 
 % $startform->(grep {
@@ -193,7 +235,7 @@ function ms_Setarch(dd) {
 
 <input type=submit name=submit value="<% $goupdate->() %>">
 % my $ours= sub { $_[0] =~
-%      m/^island|^archipelago|^routestring|^capacitystring|^[RT]/;
+%  m/^island|^archipelago|^routestring|^capacitystring|^lossperleague|^capitalstring|^[RT]/;
 % };
 <& "lookup:formhidden", ours => $ours &>
 
@@ -240,7 +282,9 @@ for my $dd (0..$qa->{Dropdowns}-1) {
    archipelagoes => \@archipelagoes,
    qa => $qa,
    max_mass => $max_mass,
-   max_volume => $max_volume
+   max_volume => $max_volume,
+   lossperleaguepct => $lossperleaguepct,
+   max_capital => $capital
  &>
-</form>
 % }
+</form>