]> iEval git - app-web-oof.git/blobdiff - lib/App/Web/Oof.pm
Hide out-of-stock products from order form
[app-web-oof.git] / lib / App / Web / Oof.pm
index a0a4451e8ede4b9081dce3fd499e8ea1525ff862..d8590764c338217673294d32b046761ef71c6210 100644 (file)
@@ -37,6 +37,11 @@ sub HTML::Element::fclass { shift->look_down(class => qr/\b$_[0]\b/) }
 
 ##################################################
 
+my $postage_base = $ENV{OOF_POSTAGE_BASE} // 225;
+my $postage_per_item = $ENV{OOF_POSTAGE_PER_ITEM} // 50;
+
+##################################################
+
 my %db;
 my ($form, $continue, $order, $details, $pay);
 
@@ -103,7 +108,7 @@ sub form_app {
        my $req = Plack::Request->new($env);
 
        local %highlight = map { $_ => 1 } $req->param('highlight');
-       my $data = $db{$$}->select(products => '*', {}, 'product')->hashes;
+       my $data = $db{$$}->select(products => '*', {stock => {'>', 0}}, 'product')->hashes;
        my $tree = $form->clone;
        $tree->find('tbody')->find('tr')->iter3($data, \&form_table_row);
 
@@ -167,7 +172,7 @@ sub continue_app {
        }
        $tree->look_down(name => 'discount')->detach unless $dvalue;
        $tree->fid('discount_tr')->detach unless $dvalue;
-       my $postage = 220 + 50 * ($quant - $quant_freepost);
+       my $postage = $postage_base + $postage_per_item * ($quant - $quant_freepost);
        $postage = 0 if $quant == $quant_freepost;
        $tree->fid('postage')->replace_content(stringify_money $postage);
        $total += $postage;
This page took 0.021499 seconds and 4 git commands to generate.