X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=httemplate%2Fview%2Fcust_main%2Fpayment_history.html;h=c85559543022cda098f843a51aa6da366c407211;hb=15a4e1674694b76ecc2af87de479aabe370ac03d;hp=a00538416048e667f612a5acd0d307a94733aaab;hpb=bb6ff4c824ea551497def573a548035238980ed5;p=freeside.git diff --git a/httemplate/view/cust_main/payment_history.html b/httemplate/view/cust_main/payment_history.html index a00538416..c85559543 100644 --- a/httemplate/view/cust_main/payment_history.html +++ b/httemplate/view/cust_main/payment_history.html @@ -2,184 +2,6 @@ -%# payment links - -% my $s = 0; -% if ( $payby{'BILL'} && $curuser->access_right(['Post payment', 'Post check payment' ]) ) { - <% $s++ ? ' | ' : '' %> - <& /elements/popup_link-cust_main.html, - 'label' => emt('Enter check payment'), - 'action' => "${p}edit/cust_pay.cgi?popup=1;payby=BILL", - 'cust_main' => $cust_main, - 'actionlabel' => emt('Enter check payment'), - 'width' => ( $opt{'pkg-balances'} ? 763 : 392), - 'height' => 392, - &> -% } - -% if ( $payby{'CASH'} && $curuser->access_right(['Post payment', 'Post cash payment']) ) { - <% $s++ ? ' | ' : '' %> - <& /elements/popup_link-cust_main.html, - 'label' => emt('Enter cash payment'), - 'action' => "${p}edit/cust_pay.cgi?popup=1;payby=CASH", - 'cust_main' => $cust_main, - 'actionlabel' => emt('Enter cash payment'), - 'width' => ( $opt{'pkg-balances'} ? 763 : 392), - 'height' => 392, - &> -% } - -% if ( $payby{'WEST'} && $curuser->access_right('Post payment') ) { - <% $s++ ? ' | ' : '' %> - <% mt('Enter Western Union payment') |h %> -% } - -<% $s ? '
' : '' %> -% $s=0; - -% if ( ( $payby{'CARD'} || $payby{'DCRD'} ) -% && $curuser->access_right(['Process payment', 'Process credit card payment']) -% && ! $cust_main->is_encrypted($cust_main->payinfo) -% ) { - <% $s++ ? ' | ' : '' %> - <% mt('Process credit card payment') |h %> -% } - -% if ( ( $payby{'CHEK'} || $payby{'DCHK'} ) -% && $curuser->access_right(['Process payment', 'Process Echeck payment']) -% && ! $cust_main->is_encrypted($cust_main->payinfo) -% ) { - <% $s++ ? ' | ' : '' %> - <% mt('Process electronic check (ACH) payment') |h %> -% } - -% if ( $payby{'MCRD'} && $curuser->access_right('Post payment') ) { - <% $s++ ? ' | ' : '' %> - <% mt('Post manual (offline/POS) credit card payment') |h %> -% } - -<% $s ? '
' : '' %> - -%# credit links - -% $s=0; -% if ( $curuser->access_right('Post credit') ) { - <% $s++ ? ' | ' : '' %> - <& /elements/popup_link-cust_main.html, - 'label' => emt('Enter credit'), - 'action' => "${p}edit/cust_credit.cgi", - 'cust_main' => $cust_main, - 'actionlabel' => emt('Enter credit'), - 'width' => ( $opt{'pkg-balances'} ? 763 : 616), - &> -% } -% if ( $curuser->access_right('Credit line items') ) { - <% $s++ ? ' | ' : '' %> - <& /elements/popup_link-cust_main.html, - 'label' => emt('Credit line items'), - #'action' => "${p}search/cust_bill_pkg.cgi?nottax=1;type=select", - 'action' => "${p}edit/credit-cust_bill_pkg.html", - 'cust_main' => $cust_main, - 'actionlabel' => emt('Credit line items'), - 'width' => 968, #763, - 'height' => 575, - &> -% } -<% $s ? '
' : '' %> - -%# refund links - -% $s = 0; -% if ( $payby{'BILL'} && $curuser->access_right(['Post refund', 'Post check refund']) ) { - <% $s++ ? ' | ' : '' %> - <& /elements/popup_link-cust_main.html, - 'label' => emt('Enter check refund'), - 'action' => "${p}edit/cust_refund.cgi?popup=1;payby=BILL", - 'cust_main' => $cust_main, - 'actionlabel' => emt('Enter check refund'), - 'width' => 392, - &> -% } - -% if ( $payby{'CASH'} && $curuser->access_right(['Post refund', 'Post cash refund']) ) { - <% $s++ ? ' | ' : '' %> - <& /elements/popup_link-cust_main.html, - 'label' => emt('Enter cash refund'), - 'action' => "${p}edit/cust_refund.cgi?popup=1;payby=CASH", - 'cust_main' => $cust_main, - 'actionlabel' => emt('Enter cash refund'), - 'width' => 392, - &> -% } - -%# someday, perhaps. very few gateways let you do unlinked refunds at all. -%# Authorize.net makes you sign a special form -%# -%# % if ( ( $payby{'CARD'} || $payby{'DCRD'} ) -%# % && $curuser->access_right('Process refund') -%# % && ! $cust_main->is_encrypted($cust_main->payinfo) -%# % ) { -%# <% $s++ ? ' | ' : '' %> -%# Process credit card refund -%# % } -%# -%# % if ( ( $payby{'CHEK'} || $payby{'DCHK'} ) -%# % && $curuser->access_right('Process refund') -%# % && ! $cust_main->is_encrypted($cust_main->payinfo) -%# % ) { -%# <% $s++ ? ' | ' : '' %> -%# Process electronic check (ACH) refund -%# % } - -% if ( $payby{'MCRD'} && $curuser->access_right('Post refund') ) { - <% $s++ ? ' | ' : '' %> - <% mt('Post manual (offline/POS) credit card refund') |h %> -% } - - - - -%# invoice reports, combined statement -% if ( $curuser->access_right('List invoices') ) { -% if ( $num_cust_bill > 0 ) { - <% - mt('Download typeset statement PDF') |h %> -
-% } - <% mt('Invoice reports') |h %> -% } -
- -%# XXX payments, credits, refund reports - -%# tax exemption link - -% my $view_exemptions = $curuser->access_right('View customer tax exemptions'); -% my $add_adjustment = ( $conf->exists('enable_tax_adjustments') -% && $curuser->access_right('Add customer tax adjustment') -% ); -% if ( $view_exemptions || $add_adjustment ) { - -% if ( $view_exemptions ) { - <% mt('View tax exemptions') |h %> - <% $add_adjustment ? '|' : '' %> -% } - -% if ( $add_adjustment ) { - <& /elements/popup_link.html, { - 'action' => $p.'edit/cust_tax_adjustment.html?custnum='. $cust_main->custnum, - 'label' => emt('Add tax adjustment'), - 'actionlabel' => emt('Add tax adjustment'), - 'height' => 200, - } - &> - | - <% mt('View tax adjustments') |h %> -% } - -
-% } - %# batched payment links % if ( ( $conf->exists('batch-enable') || $conf->config('batch-enable_payby') ) @@ -194,15 +16,6 @@
% } -%# pending payment links - -% if ( $curuser->access_right('View customer pending payments') -% && scalar($cust_main->cust_pay_pending) -% ) -% { - <% mt('View pending payments') |h %>
-% } - @@ -215,6 +28,7 @@ % my $bgcolor2 = '#ffffff'; % my $bgcolor = ''; + <% mt('Date') |h %> <% mt('Description') |h %> @@ -224,6 +38,7 @@ <% mt('Refund') |h %> <% mt('Balance') |h %> + %#display payment history @@ -402,7 +217,7 @@ my %opt = ( qw( card_refund-days date_format ) ), ( map { $_ => $conf->exists($_) } - qw( deleteinvoices deletepayments deleterefunds pkg-balances + qw( deletepayments deleterefunds pkg-balances cust_credit_bill_pkg-manual cust_bill_pay_pkg-manual ) ), @@ -411,11 +226,12 @@ my %opt = ( #rights ( map { $_ => $curuser->access_right($_) } ( - 'View invoices', 'Void invoices', 'Unvoid invoices', 'Delete invoices', + 'View invoices', 'Void invoices', 'Unvoid invoices', 'Apply payment', 'Refund credit card payment', 'Refund Echeck payment', + 'Post refund', 'Post check refund', 'Post cash refund ', 'Refund payment', 'Credit card void', 'Echeck void', 'Void payments', 'Unvoid payments', 'Delete payment', 'Unapply payment', - 'Apply credit', 'Delete credit', 'Unapply credit', + 'Apply credit', 'Unapply credit', 'Void credit', 'Unvoid credit', 'Delete refund', 'Billing event reports', 'View customer billing events', ) @@ -432,6 +248,8 @@ $opt{'date_format'} ||= '%m/%d/%Y'; foreach my $legacy_cust_bill ($cust_main->legacy_cust_bill) { push @history, { 'date' => $legacy_cust_bill->_date, + 'order' => 1, + 'num' => $legacy_cust_bill->legacyid, 'desc' => include('payment_history/legacy_invoice.html', $legacy_cust_bill, %opt ), 'charge_nobal' => $legacy_cust_bill->charged, }; @@ -442,6 +260,8 @@ my $num_cust_bill = 0; foreach my $cust_bill ($cust_main->cust_bill) { push @history, { 'date' => $cust_bill->_date, + 'order' => 1, + 'num' => $cust_bill->invnum, 'desc' => include('payment_history/invoice.html', $cust_bill, %opt ), 'charge' => $cust_bill->charged, }; @@ -452,6 +272,8 @@ foreach my $cust_bill ($cust_main->cust_bill) { foreach my $cust_bill_void ($cust_main->cust_bill_void) { push @history, { 'date' => $cust_bill_void->_date, + 'order' => 0, + 'num' => $cust_bill_void->invnum, 'desc' => include('payment_history/voided_invoice.html', $cust_bill_void, %opt ), 'void_charge' => $cust_bill_void->charged, }; @@ -461,6 +283,8 @@ foreach my $cust_bill_void ($cust_main->cust_bill_void) { foreach my $cust_statement ($cust_main->cust_statement) { push @history, { 'date' => $cust_statement->_date, + 'order' => 2, + 'num' => $cust_statement->statementnum, 'desc' => include('payment_history/statement.html', $cust_statement, %opt ), #'charge' => $cust_bill->charged, }; @@ -470,6 +294,8 @@ foreach my $cust_statement ($cust_main->cust_statement) { foreach my $cust_pay ($cust_main->cust_pay) { push @history, { 'date' => $cust_pay->_date, + 'order' => 6, + 'num' => $cust_pay->paynum, 'desc' => include('payment_history/payment.html', $cust_pay, %opt ), 'payment' => $cust_pay->paid, #'target' => $target, #XXX @@ -480,6 +306,8 @@ foreach my $cust_pay ($cust_main->cust_pay) { foreach my $cust_pay_pending ($cust_main->cust_pay_pending) { push @history, { 'date' => $cust_pay_pending->_date, + 'order' => 4, + 'num' => $cust_pay_pending->paypendingnum, 'desc' => include('payment_history/pending_payment.html', $cust_pay_pending, %opt ), 'void_payment' => $cust_pay_pending->paid, }; @@ -490,6 +318,8 @@ foreach my $cust_pay_pending ($cust_main->cust_pay_pending) { foreach my $cust_pay_void ($cust_main->cust_pay_void) { push @history, { 'date' => $cust_pay_void->_date, + 'order' => 3, + 'num' => $cust_pay_void->paynum, 'desc' => include('payment_history/voided_payment.html', $cust_pay_void, %opt ), 'void_payment' => $cust_pay_void->paid, }; @@ -500,6 +330,8 @@ foreach my $cust_pay_void ($cust_main->cust_pay_void) { foreach my $cust_credit_void ($cust_main->cust_credit_void) { push @history, { 'date' => $cust_credit_void->_date, + 'order' => 7, + 'num' => $cust_credit_void->paynum, 'desc' => include('payment_history/voided_credit.html', $cust_credit_void, %opt ), 'void_credit' => $cust_credit_void->amount, }; @@ -509,6 +341,8 @@ foreach my $cust_credit_void ($cust_main->cust_credit_void) { foreach my $cust_pay_pending ($cust_main->cust_pay_pending_attempt) { push @history, { 'date' => $cust_pay_pending->_date, + 'order' => 5, + 'num' => $cust_pay_pending->paypendingnum, 'desc' => include('payment_history/attempted_payment.html', $cust_pay_pending, %opt ), 'void_payment' => $cust_pay_pending->paid, #?? #'target' => $target, #XXX @@ -521,6 +355,8 @@ foreach my $cust_pay_batch ( my $pay_batch = $cust_pay_batch->pay_batch; push @history, { 'date' => $pay_batch->upload, + 'order' => 5, + 'num' => $cust_pay_batch->paybatchnum, 'desc' => include('payment_history/attempted_batch_payment.html', $cust_pay_batch, %opt), 'void_payment' => $cust_pay_batch->amount, }; @@ -530,6 +366,8 @@ foreach my $cust_pay_batch ( foreach my $cust_credit ($cust_main->cust_credit) { push @history, { 'date' => $cust_credit->_date, + 'order' => 8, + 'num' => $cust_credit->crednum, 'desc' => include('payment_history/credit.html', $cust_credit, %opt ), 'credit' => $cust_credit->amount, }; @@ -540,6 +378,8 @@ foreach my $cust_credit ($cust_main->cust_credit) { foreach my $cust_refund ($cust_main->cust_refund) { push @history, { 'date' => $cust_refund->_date, + 'order' => 9, + 'num' => $cust_refund->refundnum, 'desc' => include('payment_history/refund.html', $cust_refund, %opt), 'refund' => $cust_refund->refund, }; @@ -551,7 +391,12 @@ my $years = $conf->config('payment_history-years') || 2; my $older_than = time - $years * 31556926; #60*60*24*365.2422 my $balance = 0; -@history = sort { $a->{date} <=> $b->{date} } @history; +@history = sort { $a->{date} <=> $b->{date} + or $a->{order} <=> $b->{order} + or $a->{num} <=> $b->{num} + } + @history; + my $i = 0; my $balance_forward; foreach my $item (@history) { @@ -578,7 +423,11 @@ if ( @history and $history[-1]->{'hide'} ) { # then sort in user-pref order if ( $curuser->option('history_order') eq 'newest' ) { - @history = sort { $b->{date} <=> $a->{date} } @history; + @history = sort { $b->{date} <=> $a->{date} + or $b->{order} <=> $a->{order} #or still forward here? + or $b->{num} <=> $a->{num} + } + @history; } # else it's already oldest-first, and there are no other options yet sub translate_payby {