chiark / gitweb /
New query_offers query; actual implementation TBD
authorIan Jackson <ian@liberator.relativity.greenend.org.uk>
Sun, 20 Sep 2009 19:15:19 +0000 (20:15 +0100)
committerIan Jackson <ian@liberator.relativity.greenend.org.uk>
Sun, 20 Sep 2009 19:15:19 +0000 (20:15 +0100)
yarrg/web/enter_commod
yarrg/web/enter_route
yarrg/web/lookup
yarrg/web/query_offers [new file with mode: 0644]

index 666f625..c3f5553 100644 (file)
@@ -47,8 +47,8 @@ $cmid_r
 
 Enter commodity (abbreviations are OK):<br>
 
-<&| qtextstring, qa => $qa, dbh => $dbh,
-    thingstring => 'commodstring', emsgstore => $emsg_r,
+<&| qtextstring, qa => $qa, dbh => $dbh, emsgstore => $emsg_r,
+    thingstring => 'commodstring', prefix => 'cm',
     onresults => sub { ($$commodname_r,$$cmid_r)= @{ $_[0] } if @_ }
  &>
  size=80
index f4ad1d7..c21d967 100644 (file)
@@ -51,8 +51,8 @@ $archipelagoes_r
 <% $enterwhat %> (islands, or archipelagoes, separated by |s or commas;
  abbreviations are OK):<br>
 
-<&| qtextstring, qa => $qa, dbh => $dbh,
-    thingstring => 'routestring', emsgstore => $emsg_r,
+<&| qtextstring, qa => $qa, dbh => $dbh, emsgstore => $emsg_r,
+    thingstring => 'routestring', prefix => 'rl',
     onresults => sub {
        foreach (@_) {
        my ($canonname, $island, $arch) = @$_;
index 371bbb2..ec72a6e 100755 (executable)
@@ -57,6 +57,7 @@ my %styles;
                Before => 'Query: ',
                Values => [     [ 'route', 'Trades for route' ],
                                [ 'commod', 'Prices for commodity' ],
+                               [ 'offers', 'Offers at location' ],
                                [ 'age', 'Data age' ] ]
        }, {    Name => 'BuySell',
                Before => '',
diff --git a/yarrg/web/query_offers b/yarrg/web/query_offers
new file mode 100644 (file)
index 0000000..47c3555
--- /dev/null
@@ -0,0 +1,97 @@
+<%doc>
+
+ This is part of the YARRG website.  YARRG is a tool and website
+ for assisting players of Yohoho Puzzle Pirates.
+
+ Copyright (C) 2009 Ian Jackson <ijackson@chiark.greenend.org.uk>
+ Copyright (C) 2009 Clare Boothby
+
+  YARRG's client code etc. is covered by the ordinary GNU GPL (v3 or later).
+  The YARRG website is covered by the GNU Affero GPL v3 or later, which
+   basically means that every installation of the website will let you
+   download the source.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU Affero General Public License as
+ published by the Free Software Foundation, either version 3 of the
+ License, or (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU Affero General Public License for more details.
+
+ You should have received a copy of the GNU Affero General Public License
+ along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+ Yohoho and Puzzle Pirates are probably trademarks of Three Rings and
+ are used without permission.  This program is not endorsed or
+ sponsored by Three Rings.
+
+
+ This Mason component generates the core of the `offers' query.
+
+
+</%doc>
+<%args>
+$quri
+$dbh
+$commodid => undef;
+$commodstring => '';
+$islandid => undef;
+$prselector
+$someresults
+$emsgokorprint
+</%args>
+
+<%perl>
+my $emsg;
+my @warningfs;
+my @islandids;
+my @archipelagoes;
+my ($commodname,$cmid);
+
+my $qa= \%ARGS;
+</%perl>
+
+<h1>Prices for commodity at location(s)</h1>
+
+% $prselector->('BuySell');
+
+<form action="<% $quri->() |h %>" method="get">
+
+<& enter_commod, qa => $qa, dbh => $dbh, emsg_r => \$emsg,
+       commodname_r => \$commodname,
+       cmid_r => \$cmid
+ &>
+
+<& enter_route, qa => $qa, dbh => $dbh, emsg_r => \$emsg,
+       warningfs_r => \@warningfs,
+       enterwhat => 'Enter location',
+       islandids_r => \@islandids,
+       archipelagoes_r => \@archipelagoes
+ &>
+
+<input type=submit name=submit value="Go">
+% my $ours= sub { $_[0] =~
+%    m/^commodstring|^commodid|^routestring|^archipelago|^island/;
+% };
+<& "lookup:formhidden", ours => $ours &>
+
+</form>
+
+%#========== results ==========
+<%perl>
+
+$emsgokorprint->($emsg) or $cmid=undef;
+return unless defined $cmid and @islandids;
+
+foreach my $wf (@warningfs) { $wf->(); }
+</%perl>
+
+<pre>
+NOT YET IMPLEMENTED
+
+cmdid= <% $cmid %>
+islandids= <% join ',', map { defined($_) ? $_ : 'U' } @islandids %>
+</pre>