[dw-free] Implement new payment system
[commit: http://hg.dwscoalition.org/dw-free/rev/a910a04d4e09]
http://bugs.dwscoalition.org/show_bug.cgi?id=2423
Update admin tools to show cart data for new style orders and dump the new
tables.
Patch by
mark.
Files modified:
http://bugs.dwscoalition.org/show_bug.cgi?id=2423
Update admin tools to show cart data for new style orders and dump the new
tables.
Patch by
![[staff profile]](https://www.dreamwidth.org/img/silk/identity/user_staff.png)
Files modified:
- cgi-bin/LJ/Widget/ShopCart.pm
- htdocs/admin/pay/view.bml
-------------------------------------------------------------------------------- diff -r c00f99f10b2a -r a910a04d4e09 cgi-bin/LJ/Widget/ShopCart.pm --- a/cgi-bin/LJ/Widget/ShopCart.pm Wed Apr 07 18:38:30 2010 +0000 +++ b/cgi-bin/LJ/Widget/ShopCart.pm Thu Apr 08 21:38:26 2010 +0000 @@ -79,7 +79,7 @@ sub render_body { $ret .= "<td>" . ( $item->deliverydate ? $item->deliverydate : $class->ml( 'widget.shopcart.deliverydate.asap' ) ) . "</td>"; $ret .= "<td>" . $item->t_html( admin => $opts{admin} ) . "</td>"; $ret .= "<td>" . $item->from_html . "</td>"; - $ret .= "<td>" . ( $item->random ? 'Y' : 'N' ) . "</td>" if $opts{admin}; + $ret .= "<td>" . ( ref $item =~ /Account/ && $item->random ? 'Y' : 'N' ) . "</td>" if $opts{admin}; $ret .= "<td>" . $item->display_paid . "</td>\n"; if ( $opts{admin} ) { diff -r c00f99f10b2a -r a910a04d4e09 htdocs/admin/pay/view.bml --- a/htdocs/admin/pay/view.bml Wed Apr 07 18:38:30 2010 +0000 +++ b/htdocs/admin/pay/view.bml Thu Apr 08 21:38:26 2010 +0000 @@ -109,7 +109,7 @@ EOF $body .= "<table border='1'>"; $body .= "<tr><th>From:</th><td>$from</td></tr>"; $body .= "<tr><th>Date:</th><td>" . DateTime->from_epoch( epoch => $cart->starttime )->strftime( "%F %r %Z" ) . "</td></tr>"; - $body .= "<tr><th>Total:</th><td>\$" . $cart->display_total . " USD</td></tr>"; + $body .= "<tr><th>Total:</th><td>" . $cart->display_total . "</td></tr>"; $body .= "<tr><th>Payment Method:</th><td>$paystr</td></tr>"; $body .= "<tr><th>Uniq:</th><td>" . $cart->uniq . "</td></tr>"; $body .= "<tr><th>IP:</th><td>" . $cart->ip . "</td></tr>"; @@ -134,7 +134,7 @@ EOF my $hr; my $out = sub { - foreach ( qw/ SIGNATURE USER PWD / ) { + foreach ( qw/ SIGNATURE USER PWD ccnumber password username / ) { $hr->{$_} = '<em>redacted</em>' if exists $hr->{$_}; } @@ -148,10 +148,14 @@ EOF }; return $out->() if $hr; + # but see if it seems to be a unix time we can convert to a readable one + return LJ::mysql_time( $val, 1 ) + if $val =~ /^1\d{9}$/; + # and now fall back to urlencoded ... return $val unless $val =~ /&/ && $val =~ /=/; - LJ::decode_url_string( $val, $hr ); + LJ::decode_url_string( $val, $hr = {} ); return $out->(); }; @@ -216,6 +220,13 @@ EOF $body .= "<h2>raw: gco_log (GCO raw)</h2>"; $dump->( 'SELECT * FROM gco_log WHERE gcoid = ?', $engine->gcoid ); + } elsif ( $classname eq 'CreditCard' ) { + # dump the tables + $body .= "<h2>raw: cc_trans (raw transaction data)</h2>\n"; + $dump->( 'SELECT * FROM cc_trans WHERE cartid = ?', $cart->id ); + $body .= "<h2>raw: cc_log (raw server query/response log)</h2>\n"; + $dump->( 'SELECT * FROM cc_log WHERE cartid = ?', $cart->id ); + } elsif ( $classname eq 'CheckMoneyOrder' ) { # show the payer's details. $body .= "<h2>Payer Details</h2>"; --------------------------------------------------------------------------------