handle existing order payments properly
authorTony Cook <tony@develop-help.com>
Tue, 2 Jul 2013 12:56:03 +0000 (22:56 +1000)
committerTony Cook <tony@develop-help.com>
Sun, 21 Jul 2013 23:34:16 +0000 (09:34 +1000)
site/cgi-bin/modules/BSE/Cart.pm
site/cgi-bin/modules/BSE/Shop/Util.pm
site/cgi-bin/modules/BSE/TB/Order.pm
site/templates/checkoutpay_base.tmpl

index da0fb4d..15aaf9b 100644 (file)
@@ -2,7 +2,7 @@ package BSE::Cart;
 use strict;
 use Scalar::Util;
 
-our $VERSION = "1.006";
+our $VERSION = "1.007";
 
 =head1 NAME
 
@@ -858,7 +858,9 @@ display - display of the option value
 sub option_list {
   my ($self, $index) = @_;
 
-  return [ $self->product->option_descs(BSE::Cfg->single, $self->{options}) ];
+  my @options = $self->product->option_descs(BSE::Cfg->single, $self->{options});
+
+  return wantarray ? @options : \@options;
 }
 
 =item option_text
index 9d38513..a2ceb32 100644 (file)
@@ -7,7 +7,7 @@ use vars qw(@ISA @EXPORT_OK);
                 payment_types order_item_opts
  PAYMENT_CC PAYMENT_CHEQUE PAYMENT_CALLME PAYMENT_MANUAL PAYMENT_PAYPAL/;
 
-our $VERSION = "1.009";
+our $VERSION = "1.010";
 
 our %EXPORT_TAGS =
   (
@@ -62,10 +62,10 @@ sub shop_cart_tags {
      (
       plural => "items",
       single => "item",
-      code => sub { @{$cart->items} },
+      code => sub { $cart->items },
       store => \$current_item,
      ),
-     count => scalar(@{$cart->items}),
+     count => scalar(@{[ $cart->items ]}),
      extended =>
      sub { 
        my $what = $_[0] || 'retailPrice';
index 7a81fe4..3340862 100644 (file)
@@ -7,7 +7,7 @@ use vars qw/@ISA/;
 use Carp 'confess';
 use BSE::Shop::PaymentTypes;
 
-our $VERSION = "1.020";
+our $VERSION = "1.021";
 
 sub columns {
   return qw/id
@@ -774,4 +774,19 @@ sub coupon {
   return BSE::TB::Coupons->getByPkey($self->coupon_id);
 }
 
+=item coupon_code
+
+Emulate the cart's coupon-code method.
+
+=cut
+
+sub coupon_code {
+  my ($self) = @_;
+
+  my $coupon = $self->coupon
+    or return;
+
+  return $coupon->code;
+}
+
 1;
index 26c0762..2d4b762 100644 (file)
@@ -49,7 +49,7 @@
          <:-.set items = [ ordercart.items ] -:>
           <:.if items.size -:>
            <:.for item in items -:>
-             <:.set options = item.option_list -:>
+             <:.set options = [ item.option_list ] -:>
              <:.set session = item.session -:>
           <tr valign="middle" align="center" bgcolor="#FFFFFF"> 
             <td width="100%" align="left"> &nbsp;<font face="Verdana, Arial, Helvetica, sans-serif" size="-2"><a href="<:= item.link | html:>"><:= item.product.description | html :> <:.if options.size:>(<:.for option in options:><:= loop.index ? ", " : "" :><:= option.desc | html:>: 
@@ -76,7 +76,7 @@
   </tr>
 </table>
 <table width="100%" border="0" cellspacing="0" cellpadding="0">
-<:.if is_order ? order.coupon_code ne "" : ordercart.coupon_active -:>
+<:.if ordercart.coupon_active -:>
     <tr>
       <td>Coupon code: <:= ordercart.coupon_code -:>
 </td>