From: Mark Wells Date: Fri, 1 Feb 2013 16:53:33 +0000 (-0800) Subject: show declined batch payments in customer display, #21117 X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=commitdiff_plain;h=3bbd8a5c852ba095f1914e0a3b70bdafb6a8b36d show declined batch payments in customer display, #21117 --- diff --git a/FS/FS/cust_pay_batch.pm b/FS/FS/cust_pay_batch.pm index 9c5c2d811..1db74ef71 100644 --- a/FS/FS/cust_pay_batch.pm +++ b/FS/FS/cust_pay_batch.pm @@ -206,6 +206,17 @@ sub cust_main { qsearchs( 'cust_main', { 'custnum' => $self->custnum } ); } +=item pay_batch + +Returns the payment batch this payment belongs to (Lby_key($self->batchnum); +} + #you know what, screw this in the new world of events. we should be able to #get the event defs to retry (remove once.pm condition, add every.pm) without #mucking about with statuses of previous cust_event records. right? diff --git a/httemplate/view/cust_main/payment_history.html b/httemplate/view/cust_main/payment_history.html index 7cf47fae3..d46bc823f 100644 --- a/httemplate/view/cust_main/payment_history.html +++ b/httemplate/view/cust_main/payment_history.html @@ -490,6 +490,17 @@ foreach my $cust_pay_pending ($cust_main->cust_pay_pending_attempt) { #'target' => $target, #XXX }; } +#declined batch payments +foreach my $cust_pay_batch ( + $cust_main->cust_pay_batch(hashref => {status => 'Declined'}) +) { + my $pay_batch = $cust_pay_batch->pay_batch; + push @history, { + 'date' => $pay_batch->upload, + 'desc' => include('payment_history/attempted_batch_payment.html', $cust_pay_batch, %opt), + 'void_payment' => $cust_pay_batch->amount, + }; +} #credits (some false laziness w/payments) foreach my $cust_credit ($cust_main->cust_credit) { diff --git a/httemplate/view/cust_main/payment_history/attempted_batch_payment.html b/httemplate/view/cust_main/payment_history/attempted_batch_payment.html new file mode 100644 index 000000000..95947f512 --- /dev/null +++ b/httemplate/view/cust_main/payment_history/attempted_batch_payment.html @@ -0,0 +1,13 @@ +<% mt('Payment attempt') |h %> <% $info |h %> +<%init> + +my( $cust_pay_batch, %opt ) = @_; + +my ($payby,$payinfo) = translate_payinfo($cust_pay_batch); +$payby = translate_payby($payby,$payinfo); +my $info = $payby ? "($payby$payinfo)" : ''; + +$info .= ': '. $cust_pay_batch->error_message + if length($cust_pay_batch->error_message); + +