[freeside-commits] freeside/httemplate/view/cust_main payment_history.html, 1.32, 1.33
Ivan,,,
ivan at wavetail.420.am
Sun Jun 1 15:48:17 PDT 2008
- Previous message: [freeside-commits] freeside/FS/FS cust_refund.pm, 1.32, 1.33 cust_pay.pm, 1.66, 1.67 payinfo_Mixin.pm, 1.10, 1.11 payinfo_transaction_Mixin.pm, NONE, 1.1
- Next message: [freeside-commits] freeside/httemplate/view/cust_main/payment_history credit.html, NONE, 1.1 invoice.html, NONE, 1.1 payment.html, NONE, 1.1 refund.html, NONE, 1.1 voided_payment.html, NONE, 1.1
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Update of /home/cvs/cvsroot/freeside/httemplate/view/cust_main
In directory wavetail.420.am:/tmp/cvs-serv3210/httemplate/view/cust_main
Modified Files:
payment_history.html
Log Message:
refactor payment history slightly, add refund receipts, have "unapplied" refunds show like other unapplied/open things, RT#3545
Index: payment_history.html
===================================================================
RCS file: /home/cvs/cvsroot/freeside/httemplate/view/cust_main/payment_history.html,v
retrieving revision 1.32
retrieving revision 1.33
diff -u -d -r1.32 -r1.33
--- payment_history.html 1 Jun 2008 05:43:39 -0000 1.32
+++ payment_history.html 1 Jun 2008 22:48:14 -0000 1.33
@@ -84,408 +84,6 @@
<BR>
% }
-%#get payment history
-%my @history = ();
-%
-%#invoices
-%foreach my $cust_bill ($cust_main->cust_bill) {
-% my $pre = ( $cust_bill->owed > 0 )
-% ? '<B><FONT SIZE="+1" COLOR="#FF0000">Open '
-% : '';
-% my $post = ( $cust_bill->owed > 0 ) ? '</FONT></B>' : '';
-% my $invnum = $cust_bill->invnum;
-% my $link = $curuser->access_right('View invoices')
-% ? qq!<A HREF="${p}view/cust_bill.cgi?$invnum">!
-% : '';
-% my $events = '';
-% if ( $cust_bill->num_cust_event
-% && ( $curuser->access_right('Billing event reports')
-% || $curuser->access_right('View customer billing events')
-% )
-% ) {
-% $events =
-% qq!<BR><FONT SIZE="-1"><A HREF="${p}search/cust_event.html?invnum=!.
-% $cust_bill->invnum. '">( View invoice events )</A></FONT>';
-% }
-% push @history, {
-% 'date' => $cust_bill->_date,
-% 'desc' => $link. $pre.
-% "Invoice #$invnum (Balance \$". $cust_bill->owed. ')'.
-% $post. ( $link ? '</A>' : '' ). $events,
-% 'charge' => $cust_bill->charged,
-% };
-%}
-%
-%#payments (some false laziness w/credits)
-%foreach my $cust_pay ($cust_main->cust_pay) {
-%
-% my $payby = $cust_pay->payby;
-%
-% my $payinfo;
-% if ( $payby eq 'CARD' ) {
-% $payinfo = $cust_pay->paymask;
-% } elsif ( $payby eq 'CHEK' ) {
-% my( $account, $aba ) = split('@', $cust_pay->paymask );
-% $payinfo = "ABA $aba, Acct #$account";
-% } else {
-% $payinfo = $cust_pay->payinfo;
-% }
-% my @cust_bill_pay = $cust_pay->cust_bill_pay;
-% my @cust_pay_refund = $cust_pay->cust_pay_refund;
-%
-% my $target = "$payby$payinfo";
-% $payby =~ s/^BILL$/Check #/ if $payinfo;
-% $payby =~ s/^CHEK$/Electronic check /;
-% $payby =~ s/^PREP$/Prepaid card /;
-% $payby =~ s/^CARD$/Credit card #/;
-% $payby =~ s/^COMP$/Complimentary by /;
-% $payby =~ s/^CASH$/Cash/;
-% $payby =~ s/^WEST$/Western Union/;
-% $payby =~ s/^MCRD$/Manual credit card/;
-% $payby =~ s/^BILL$//;
-% my $info = $payby ? "($payby$payinfo)" : '';
-%
-% my( $pre, $post, $desc, $apply, $ext ) = ( '', '', '', '', '' );
-% if ( scalar(@cust_bill_pay) == 0
-% && scalar(@cust_pay_refund) == 0 ) {
-% #completely unapplied
-% $pre = '<B><FONT COLOR="#FF0000">Unapplied ';
-% $post = '</FONT></B>';
-% if ( $curuser->access_right('Apply payment') ) {
-% $apply = ' ('. include( '/elements/popup_link.html',
-% 'label' => 'apply',
-% 'action' => "${p}edit/cust_bill_pay.cgi?".
-% $cust_pay->paynum,
-% 'actionlabel' => 'Apply payment',
-% 'width' => 392,
-% #default# 'height' => 336,
-% ).
-% ')';
-% }
-% } elsif ( scalar(@cust_bill_pay) == 1
-% && scalar(@cust_pay_refund) == 0
-% && $cust_pay->unapplied == 0 ) {
-% #applied to one invoice, the usual situation
-% $desc = ' '. $cust_bill_pay[0]->applied_to_invoice;
-% } elsif ( scalar(@cust_bill_pay) == 0
-% && scalar(@cust_pay_refund) == 1
-% && $cust_pay->unapplied == 0 ) {
-% #applied to one refund
-% $desc = ' refunded on '. time2str("%D", $cust_pay_refund[0]->_date);
-% } else {
-% #complicated
-% $desc = '<BR>';
-% foreach my $app ( sort { $a->_date <=> $b->_date }
-% ( @cust_bill_pay, @cust_pay_refund ) ) {
-% if ( $app->isa('FS::cust_bill_pay') ) {
-% $desc .= ' '.
-% '$'. $app->amount.
-% ' '. $app->applied_to_invoice.
-% '<BR>';
-% #' on '. time2str("%D", $cust_bill_pay->_date).
-% } elsif ( $app->isa('FS::cust_pay_refund') ) {
-% $desc .= ' '.
-% '$'. $app->amount.
-% ' refunded on '. time2str("%D", $app->_date).
-% '<BR>';
-% } else {
-% die "$app is not a FS::cust_bill_pay or FS::cust_pay_refund";
-% }
-% }
-% if ( $cust_pay->unapplied > 0 ) {
-% $desc .= ' '.
-% '<B><FONT COLOR="#FF0000">$'.
-% $cust_pay->unapplied. ' unapplied</FONT></B>';
-% if ( $curuser->access_right('Apply payment') ) {
-% $desc = ' ('. include( '/elements/popup_link.html',
-% 'label' => 'apply',
-% 'action' => "${p}edit/cust_bill_pay.cgi?".
-% $cust_pay->paynum,
-% 'actionlabel' => 'Apply payment',
-% 'width' => 392,
-% #default# 'height' => 336,
-% ).
-% ')';
-% }
-% $desc .= '<BR>';
-% }
-% }
-%
-% my $view =
-% ' ('. include('/elements/popup_link.html',
-% 'label' => 'view receipt',
-% 'action' => "${p}view/cust_pay.html?link=popup;paynum=".
-% $cust_pay->paynum,
-% 'actionlabel' => 'Payment Receipt',
-% ).
-% ')';
-%
-% my $refund = '';
-% my $refund_days = $conf->config('card_refund-days') || 120;
-% if ( $cust_pay->closed !~ /^Y/i
-% && $cust_pay->payby =~ /^(CARD|CHEK)$/
-% && time-$cust_pay->_date < $refund_days*86400
-% && $cust_pay->unrefunded > 0
-% && $curuser->access_right('Refund payment')
-% ) {
-% $refund = qq! (<A HREF="${p}edit/cust_refund.cgi?payby=$1;!.
-% qq!paynum=!. $cust_pay->paynum. '"'.
-% qq! TITLE="Send a refund for this payment to the payment gateway"!.
-% qq!>refund</A>)!;
-% }
-%
-% my $void = '';
-% if ( $cust_pay->closed !~ /^Y/i
-% && ( ( $cust_pay->payby eq 'CARD'
-% && $curuser->access_right('Credit card void')
-% )
-% || ( $cust_pay->payby eq 'CHEK'
-% && $curuser->access_right('Echeck void')
-% )
-% || ( $cust_pay->payby !~ /^(CARD|CHEK)$/
-% && $curuser->access_right('Regular void')
-% )
-% )
-% )
-% {
-% $void = qq! (<A HREF="javascript:areyousure('!.
-% qq!${p}misc/void-cust_pay.cgi?!. $cust_pay->paynum.
-% qq!', 'Are you sure you want to void this payment?')"!.
-% qq! TITLE="Void this payment from the database!.
-% ( $cust_pay->payby =~ /^(CARD|CHEK)$/
-% ? ' (do not send anything to the payment gateway)'
-% : ''
-% ). '"'.
-% qq!>void</A>)!;
-% }
-%
-% my $delete = '';
-% if ( $cust_pay->closed !~ /^Y/i
-% && $conf->exists('deletepayments')
-% && $curuser->access_right('Delete payment')
-% )
-% {
-% $delete = qq! (<A HREF="javascript:areyousure('!.
-% qq!${p}misc/delete-cust_pay.cgi?!. $cust_pay->paynum.
-% qq!', 'Are you sure you want to delete this payment?')"!.
-% qq! TITLE="Delete this payment from the database completely - not recommended"!.
-% qq!>delete</A>)!;
-% }
-%
-% my $unapply = '';
-% if ( $cust_pay->closed !~ /^Y/i
-% && scalar(@cust_bill_pay)
-% && $curuser->access_right('Unapply payment')
-% )
-% {
-% $unapply = qq! (<A HREF="javascript:areyousure('!.
-% qq!${p}misc/unapply-cust_pay.cgi?!. $cust_pay->paynum.
-% qq!', 'Are you sure you want to unapply this payment?')"!.
-% qq! TITLE="Keep this payment, but dissociate it from the invoices it is currently applied against"!.
-% qq!>unapply</A>)!;
-% }
-%
-% my $otaker = $cust_pay->otaker;
-% $otaker = '<i>auto billing</i>' if $otaker eq 'fs_daily';
-% $otaker = '<i>customer self-service</i>' if $otaker eq 'fs_selfservice';
-%
-% push @history, {
-% 'date' => $cust_pay->_date,
-% 'desc' => $pre. "Payment$post by $otaker $info$desc".
-% "$view$apply$refund$void$delete$unapply",
-% 'payment' => $cust_pay->paid,
-% 'target' => $target,
-% };
-%}
-%
-%#voided payments
-%foreach my $cust_pay_void ($cust_main->cust_pay_void) {
-%
-% my $payby = $cust_pay_void->payby;
-% my $payinfo = $payby eq 'CARD'
-% ? $cust_pay_void->paymask
-% : $cust_pay_void->payinfo;
-%
-% $payby =~ s/^BILL$/Check #/ if $payinfo;
-% $payby =~ s/^CHEK$/Electronic check /;
-% $payby =~ s/^BILL$//;
-% $payby =~ s/^(CARD|COMP)$/$1 /;
-% my $info = $payby ? " ($payby$payinfo)" : '';
-%
-% my $unvoid = '';
-% if ( $cust_pay_void->closed !~ /^Y/i
-% && $curuser->access_right('Unvoid')
-% )
-% {
-% $unvoid = qq! (<A HREF="javascript:areyousure('!.
-% qq!${p}misc/unvoid-cust_pay_void.cgi?!. $cust_pay_void->paynum.
-% qq!', 'Are you sure you want to unvoid this payment?')"!.
-% qq! TITLE="Unvoid this payment from the database!.
-% ( $cust_pay_void->payby =~ /^(CARD|CHEK)$/
-% ? ' (do not send anything to the payment gateway)'
-% : ''
-% ). '"'.
-% qq!>unvoid</A>)!;
-% }
-%
-% push @history, {
-% 'date' => $cust_pay_void->_date,
-% 'desc' => "<DEL>Payment $info</DEL> <I>voided ".
-% time2str("%D", $cust_pay_void->void_date).
-% " by ". $cust_pay_void->otaker. '</i>'. $unvoid,
-% 'void_payment' => $cust_pay_void->paid,
-% };
-%
-%}
-%
-%#credits (some false laziness w/payments)
-%foreach my $cust_credit ($cust_main->cust_credit) {
-%
-% my @cust_credit_bill = $cust_credit->cust_credit_bill;
-% my @cust_credit_refund = $cust_credit->cust_credit_refund;
-%
-% my( $pre, $post, $desc, $apply, $ext ) = ( '', '', '', '', '' );
-% if ( scalar(@cust_credit_bill) == 0
-% && scalar(@cust_credit_refund) == 0 ) {
-% #completely unapplied
-% $pre = '<B><FONT COLOR="#FF0000">Unapplied ';
-% $post = '</FONT></B>';
-% if ( $curuser->access_right('Apply credit') ) {
-% $apply = ' ('. include( '/elements/popup_link.html',
-% 'label' => 'apply',
-% 'action' => "${p}edit/cust_credit_bill.cgi?".
-% $cust_credit->crednum,
-% 'actionlabel' => 'Apply credit',
-% 'width' => 392,
-% #default# 'height' => 336,
-% ).
-% ')';
-% }
-% } elsif ( scalar(@cust_credit_bill) == 1
-% && scalar(@cust_credit_refund) == 0
-% && $cust_credit->credited == 0 ) {
-% #applied to one invoice, the usual situation
-% $desc = ' '. $cust_credit_bill[0]->applied_to_invoice;
-% } elsif ( scalar(@cust_credit_bill) == 0
-% && scalar(@cust_credit_refund) == 1
-% && $cust_credit->credited == 0 ) {
-% #applied to one refund
-% $desc = ' refunded on '. time2str("%D", $cust_credit_refund[0]->_date);
-% } else {
-% #complicated
-% $desc = '<BR>';
-% foreach my $app ( sort { $a->_date <=> $b->_date }
-% ( @cust_credit_bill, @cust_credit_refund ) ) {
-% if ( $app->isa('FS::cust_credit_bill') ) {
-% $desc .= ' '.
-% '$'. $app->amount.
-% ' '. $app->applied_to_invoice.
-% '<BR>';
-% #' on '. time2str("%D", $app->_date).
-% } elsif ( $app->isa('FS::cust_credit_refund') ) {
-% $desc .= ' '.
-% '$'. $app->amount.
-% ' refunded on '. time2str("%D", $app->_date).
-% '<BR>';
-% } else {
-% die "$app is not a FS::cust_credit_bill or a FS::cust_credit_refund";
-% }
-% }
-% if ( $cust_credit->credited > 0 ) {
-% $desc .= ' <B><FONT COLOR="#FF0000">$'.
-% $cust_credit->credited. ' unapplied</FONT></B>';
-% if ( $curuser->access_right('Apply credit') ) {
-% $desc = ' ('. include( '/elements/popup_link.html',
-% 'label' => 'apply',
-% 'action' => "${p}edit/cust_credit_bill.cgi?".
-% $cust_credit->crednum,
-% 'actionlabel' => 'Apply credit',
-% 'width' => 392,
-% #default# 'height' => 336,
-% ).
-% ')';
-% }
-% $desc .= '<BR>';
-% }
-% }
-%#
-% my $delete = '';
-% if ( $cust_credit->closed !~ /^Y/i
-%
-% #s'pose deleting a credit isn't bad like deleting a payment
-% # and this needs to be generally available until we have credit voiding..
-% #&& $conf->exists('deletecredits')
-%
-% && $curuser->access_right('Delete credit')
-% )
-% {
-% $delete = qq! (<A HREF="javascript:areyousure('!.
-% qq!${p}misc/delete-cust_credit.cgi?!. $cust_credit->crednum.
-% qq!', 'Are you sure you want to delete this credit?')">!.
-% qq!delete</A>)!;
-% }
-%
-% my $unapply = '';
-% if ( $cust_credit->closed !~ /^Y/i
-% && scalar(@cust_credit_bill)
-% && $curuser->access_right('Unapply credit')
-% )
-% {
-% $unapply = qq! (<A HREF="javascript:areyousure('!.
-% qq!${p}misc/unapply-cust_credit.cgi?!. $cust_credit->crednum.
-% qq!', 'Are you sure you want to unapply this credit?')">!.
-% qq!unapply</A>)!;
-% }
-%
-% push @history, {
-% 'date' => $cust_credit->_date,
-% 'desc' => $pre. "Credit$post by ". $cust_credit->otaker.
-% ( $cust_credit->reason
-% ? ' ('. $cust_credit->reason. ')'
-% : ''
-% ).
-% "$desc$apply$delete$unapply",
-% 'credit' => $cust_credit->amount,
-% };
-%
-%}
-%
-%#refunds
-%foreach my $cust_refund ($cust_main->cust_refund) {
-%
-% my $payby = $cust_refund->payby;
-% my $payinfo = $payby eq 'CARD'
-% ? $cust_refund->paymask
-% : $cust_refund->payinfo;
-%
-% $payby =~ s/^BILL$/Check #/ if $payinfo;
-% $payby =~ s/^CHEK$/Electronic check /;
-% $payby =~ s/^(CARD|COMP)$/$1 /;
-%
-% my $delete = '';
-% if ( $cust_refund->closed !~ /^Y/i
-% && $conf->exists('deleterefunds')
-% && $curuser->access_right('Delete refund')
-% )
-% {
-% $delete = qq! (<A HREF="javascript:areyousure('!.
-% qq!${p}misc/delete-cust_refund.cgi?!. $cust_refund->refundnum.
-% qq!', 'Are you sure you want to delete this refund?')"!.
-% qq! TITLE="Delete this refund from the database completely - not recommended"!.
-% qq!>delete</A>)!;
-% }
-%
-% push @history, {
-% 'date' => $cust_refund->_date,
-% 'desc' => "Refund ($payby$payinfo) by ". $cust_refund->otaker. "<BR>".
-% $delete,
-% 'refund' => $cust_refund->refund,
-% };
-%
-%}
-%
-%
-
<% include("/elements/table-grid.html") %>
% my $bgcolor1 = '#eeeeee';
@@ -681,4 +279,56 @@
'All' => '',
);
+#get payment history
+my @history = ();
+
+#invoices
+foreach my $cust_bill ($cust_main->cust_bill) {
+ push @history, {
+ 'date' => $cust_bill->_date,
+ 'desc' => include('payment_history/invoice.html', $cust_bill),
+ 'charge' => $cust_bill->charged,
+ };
+}
+
+#payments (some false laziness w/credits)
+foreach my $cust_pay ($cust_main->cust_pay) {
+ push @history, {
+ 'date' => $cust_pay->_date,
+ 'desc' => include('payment_history/payment.html', $cust_pay),
+ 'payment' => $cust_pay->paid,
+ #'target' => $target, #XXX
+ };
+}
+
+#voided payments
+foreach my $cust_pay_void ($cust_main->cust_pay_void) {
+ push @history, {
+ 'date' => $cust_pay_void->_date,
+ 'desc' => include('payment_history/voided_payment.html', $cust_pay_void),
+ 'void_payment' => $cust_pay_void->paid,
+ };
+
+}
+
+#credits (some false laziness w/payments)
+foreach my $cust_credit ($cust_main->cust_credit) {
+ push @history, {
+ 'date' => $cust_credit->_date,
+ 'desc' => include('payment_history/credit.html', $cust_credit),
+ 'credit' => $cust_credit->amount,
+ };
+
+}
+
+#refunds
+foreach my $cust_refund ($cust_main->cust_refund) {
+ push @history, {
+ 'date' => $cust_refund->_date,
+ 'desc' => include('payment_history/refund.html', $cust_refund),
+ 'refund' => $cust_refund->refund,
+ };
+
+}
+
</%init>
- Previous message: [freeside-commits] freeside/FS/FS cust_refund.pm, 1.32, 1.33 cust_pay.pm, 1.66, 1.67 payinfo_Mixin.pm, 1.10, 1.11 payinfo_transaction_Mixin.pm, NONE, 1.1
- Next message: [freeside-commits] freeside/httemplate/view/cust_main/payment_history credit.html, NONE, 1.1 invoice.html, NONE, 1.1 payment.html, NONE, 1.1 refund.html, NONE, 1.1 voided_payment.html, NONE, 1.1
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the freeside-commits
mailing list