diff options
| author | ivan <ivan> | 2008-06-05 05:06:36 +0000 | 
|---|---|---|
| committer | ivan <ivan> | 2008-06-05 05:06:36 +0000 | 
| commit | d7977d0a346e3e5975c44a75b915bb437be66f4f (patch) | |
| tree | fab1f36589dd47ddb27d54edd81a69b35fa92fd1 /httemplate | |
| parent | e77f5d7c3812a65be18c5fc4ede509c42c5e3358 (diff) | |
payment and credit applications have separate "apply to refund" choices now, and no auto-refund choice in the invoice dropdown.  RT#3545
Diffstat (limited to 'httemplate')
| -rwxr-xr-x | httemplate/edit/cust_bill_pay.cgi | 88 | ||||
| -rwxr-xr-x | httemplate/edit/cust_credit_bill.cgi | 95 | ||||
| -rwxr-xr-x | httemplate/edit/cust_credit_refund.cgi | 14 | ||||
| -rwxr-xr-x | httemplate/edit/cust_pay_refund.cgi | 14 | ||||
| -rw-r--r-- | httemplate/edit/elements/ApplicationCommon.html | 170 | ||||
| -rwxr-xr-x | httemplate/edit/process/cust_bill_pay.cgi | 50 | ||||
| -rwxr-xr-x | httemplate/edit/process/cust_credit_bill.cgi | 51 | ||||
| -rwxr-xr-x | httemplate/edit/process/cust_credit_refund.cgi | 13 | ||||
| -rwxr-xr-x | httemplate/edit/process/cust_pay_refund.cgi | 13 | ||||
| -rw-r--r-- | httemplate/edit/process/elements/ApplicationCommon.html | 77 | ||||
| -rw-r--r-- | httemplate/view/cust_main/payment_history/credit.html | 38 | ||||
| -rw-r--r-- | httemplate/view/cust_main/payment_history/payment.html | 38 | 
12 files changed, 389 insertions, 272 deletions
| diff --git a/httemplate/edit/cust_bill_pay.cgi b/httemplate/edit/cust_bill_pay.cgi index b6a064768..532db6a6e 100755 --- a/httemplate/edit/cust_bill_pay.cgi +++ b/httemplate/edit/cust_bill_pay.cgi @@ -1,86 +1,14 @@ -<% include('/elements/header-popup.html', 'Apply Payment') %> - -<% include('/elements/error.html') %> - -<FORM ACTION="<% $p1 %>process/cust_bill_pay.cgi" METHOD=POST> - -Payment #<B><% $paynum %></B> -<INPUT TYPE="hidden" NAME="paynum" VALUE="<% $paynum %>"> - -<BR>Date: <B><% time2str("%D", $cust_pay->_date) %></B> - -<BR>Amount: $<B><% $cust_pay->paid %></B> - -<BR>Unapplied amount: $<B><% $unapplied %></B> - -<SCRIPT TYPE="text/javascript"> -function changed(what) { -  cust_bill = what.options[what.selectedIndex].value; - -% foreach my $cust_bill ( @cust_bill ) { - -    if ( cust_bill == <% $cust_bill->invnum %> ) { -      what.form.amount.value = "<% min($cust_bill->owed, $unapplied) %>"; -    } - -% }  - -  if ( cust_bill == "Refund" ) { -    what.form.amount.value = "<% $unapplied %>"; -  } -} -</SCRIPT> - -<BR>Invoice #<SELECT NAME="invnum" SIZE=1 onChange="changed(this)"> -<OPTION VALUE=""> - -% foreach my $cust_bill ( @cust_bill ) {  -  <OPTION<% $cust_bill->invnum eq $invnum ? ' SELECTED' : '' %> VALUE="<% $cust_bill->invnum %>"><% $cust_bill->invnum %> - <% time2str("%D", $cust_bill->_date) %> - $<% $cust_bill->owed %> -% }  - -<OPTION VALUE="Refund">Refund -</SELECT> - -<BR>Amount $<INPUT TYPE="text" NAME="amount" VALUE="<% $amount %>" SIZE=8 MAXLENGTH=8> - -<BR> -<CENTER><INPUT TYPE="submit" VALUE="Apply"></CENTER> - -</FORM> - -<% include('/elements/footer.html') %> - +<% include('elements/ApplicationCommon.html', +     'form_action' => 'process/cust_bill_pay.cgi', +     'src_table'   => 'cust_pay', +     'src_thing'   => 'payment', +     'dst_table'   => 'cust_bill', +     'dst_thing'   => 'invoice', +   ) +%>  <%init>  die "access denied"    unless $FS::CurrentUser::CurrentUser->access_right('Apply payment'); -my($paynum, $amount, $invnum); -if ( $cgi->param('error') ) { -  $paynum = $cgi->param('paynum'); -  $amount = $cgi->param('amount'); -  $invnum = $cgi->param('invnum'); -} else { -  my($query) = $cgi->keywords; -  $query =~ /^(\d+)$/; -  $paynum = $1; -  $amount = ''; -  $invnum = ''; -} - -my $otaker = getotaker; - -my $p1 = popurl(1); - -my $cust_pay = qsearchs('cust_pay', { 'paynum' => $paynum } ); -die "payment $paynum not found!" unless $cust_pay; - -my $unapplied = $cust_pay->unapplied; - -my @cust_bill = sort {    $a->_date  <=> $b->_date -                       or $a->invnum <=> $b->invnum -                     } -                grep { $_->owed != 0 } -                qsearch('cust_bill', { 'custnum' => $cust_pay->custnum } ); -  </%init> diff --git a/httemplate/edit/cust_credit_bill.cgi b/httemplate/edit/cust_credit_bill.cgi index 59a74b279..e3627ff37 100755 --- a/httemplate/edit/cust_credit_bill.cgi +++ b/httemplate/edit/cust_credit_bill.cgi @@ -1,93 +1,14 @@ -<% include('/elements/header-popup.html', 'Apply Credit') %> - -<% include('/elements/error.html') %> - -<FORM ACTION="<% $p1 %>process/cust_credit_bill.cgi" METHOD=POST> - -Credit #<B><% $crednum %></B> -<INPUT TYPE="hidden" NAME="crednum" VALUE="<% $crednum %>"> - -<BR>Date: <B><% time2str("%D", $cust_credit->_date) %></B> - -<BR>Amount: $<B><% $cust_credit->amount %></B> - -<BR>Unapplied amount: $<B><% $credited %></B> - -<BR>Reason: <B><% $cust_credit->reason %></B> - -<SCRIPT> -function changed(what) { -  cust_bill = what.options[what.selectedIndex].value; - -% foreach my $cust_bill ( @cust_bill ) { - -  if ( cust_bill == <% $cust_bill->invnum %> ) { -    what.form.amount.value = "<% min($cust_bill->owed, $credited) %>"; -  } - -% }  - -  if ( cust_bill == "Refund" ) { -    what.form.amount.value = "<% $credited %>"; -  } -} -</SCRIPT> - -<BR>Invoice #<SELECT NAME="invnum" SIZE=1 onChange="changed(this)"> -<OPTION VALUE=""> - -% foreach my $cust_bill ( @cust_bill ) {  -  <OPTION<% $cust_bill->invnum eq $invnum ? ' SELECTED' : '' %> VALUE="<% $cust_bill->invnum %>"><% $cust_bill->invnum %> - <% time2str("%D",$cust_bill->_date) %> - $<% $cust_bill->owed %> -% }  - -<OPTION VALUE="Refund">Refund -</SELECT> - -<BR>Amount $<INPUT TYPE="text" NAME="amount" VALUE="<% $amount %>" SIZE=8 MAXLENGTH=8> - -<BR> -<CENTER><INPUT TYPE="submit" VALUE="Apply"></CENTER> - -</FORM> -</BODY> -</HTML> - +<% include('elements/ApplicationCommon.html', +     'form_action' => 'process/cust_credit_bill.cgi', +     'src_table'   => 'cust_credit', +     'src_thing'   => 'credit', +     'dst_table'   => 'cust_bill', +     'dst_thing'   => 'invoice', +   ) +%>  <%init>  die "access denied"    unless $FS::CurrentUser::CurrentUser->access_right('Apply credit'); -my($crednum, $amount, $invnum); -if ( $cgi->param('error') ) { -  #$cust_credit_bill = new FS::cust_credit_bill ( { -  #  map { $_, scalar($cgi->param($_)) } fields('cust_credit_bill') -  #} ); -  $crednum = $cgi->param('crednum'); -  $amount = $cgi->param('amount'); -  #$refund = $cgi->param('refund'); -  $invnum = $cgi->param('invnum'); -} else { -  my($query) = $cgi->keywords; -  $query =~ /^(\d+)$/; -  $crednum = $1; -  $amount = ''; -  #$refund = 'yes'; -  $invnum = ''; -} - -my $otaker = getotaker; - -my $p1 = popurl(1); - -my $cust_credit = qsearchs('cust_credit', { 'crednum' => $crednum } ); -die "credit $crednum not found!" unless $cust_credit; - -my $credited = $cust_credit->credited; - -my @cust_bill = sort {    $a->_date  <=> $b->_date -                       or $a->invnum <=> $b->invnum -                     } -                grep { $_->owed != 0 } -                qsearch('cust_bill', { 'custnum' => $cust_credit->custnum } ); -  </%init> diff --git a/httemplate/edit/cust_credit_refund.cgi b/httemplate/edit/cust_credit_refund.cgi new file mode 100755 index 000000000..f5bbb5633 --- /dev/null +++ b/httemplate/edit/cust_credit_refund.cgi @@ -0,0 +1,14 @@ +<% include('elements/ApplicationCommon.html', +     'form_action' => 'process/cust_credit_refund.cgi', +     'src_table'   => 'cust_credit', +     'src_thing'   => 'credit', +     'dst_table'   => 'cust_refund', +     'dst_thing'   => 'refund', +   ) +%> +<%init> + +die "access denied" +  unless $FS::CurrentUser::CurrentUser->access_right('Apply credit'); + +</%init> diff --git a/httemplate/edit/cust_pay_refund.cgi b/httemplate/edit/cust_pay_refund.cgi new file mode 100755 index 000000000..f82fe36fe --- /dev/null +++ b/httemplate/edit/cust_pay_refund.cgi @@ -0,0 +1,14 @@ +<% include('elements/ApplicationCommon.html', +     'form_action' => 'process/cust_pay_refund.cgi', +     'src_table'   => 'cust_pay', +     'src_thing'   => 'payment', +     'dst_table'   => 'cust_refund', +     'dst_thing'   => 'refund', +   ) +%> +<%init> + +die "access denied" +  unless $FS::CurrentUser::CurrentUser->access_right('Apply payment'); + +</%init> diff --git a/httemplate/edit/elements/ApplicationCommon.html b/httemplate/edit/elements/ApplicationCommon.html new file mode 100644 index 000000000..0e6c49975 --- /dev/null +++ b/httemplate/edit/elements/ApplicationCommon.html @@ -0,0 +1,170 @@ +<%doc> + +Examples: + +  #cust_bill_pay +  include('elements/ApplicationCommon.html', +    'form_action' => 'process/cust_bill_pay.cgi',  +    'src_table'   => 'cust_pay', +    'src_thing'   => 'payment', +    'dst_table'   => 'cust_bill', +    'dst_thing'   => 'invoice', +  ) + +  #cust_credit_bill +  include('elements/ApplicationCommon.html', +    'form_action' => 'process/cust_credit_bill.cgi', +    'src_table'   => 'cust_credit', +    'src_thing'   => 'credit', +    'dst_table'   => 'cust_bill', +    'dst_thing'   => 'invoice', +  ) + +  #cust_pay_refund +  include('elements/ApplicationCommon.html', +    'form_action' => 'process/cust_pay_refund.cgi', +    'src_table'   => 'cust_pay', +    'src_thing'   => 'payment', +    'dst_table'   => 'cust_refund', +    'dst_thing'   => 'refund', +  ) + +  #cust_credit_refund +  include('elements/ApplicationCommon.html', +    'form_action' => 'process/cust_credit_refund.cgi', +    'src_table'   => 'cust_credit', +    'src_thing'   => 'credit', +    'dst_table'   => 'cust_refund', +    'dst_thing'   => 'refund', +  ) + +</%doc> +<% include('/elements/header-popup.html', "Apply $src_thing$to" ) %> + +<% include('/elements/error.html') %> + +<FORM ACTION="<% $p1. $opt{'form_action'} %>" METHOD=POST> + +<% $src_thing %> #<B><% $src_pkeyvalue %></B><BR> +<INPUT TYPE="hidden" NAME="<% $src_pkey %>" VALUE="<% $src_pkeyvalue %>"> + +<TABLE BGCOLOR="#cccccc" BORDER=0 CELLSPACING=0> + +<TR> +  <TD ALIGN="right">Date: </TD> +  <TD><B><% time2str("%D", $src->_date) %></B></TD> +</TR> + +<TR> +  <TD ALIGN="right">Amount: </TD> +  <TD><B><% $money_char %><% $src->amount %></B></TD> +</TR> + +<TR> +  <TD ALIGN="right">Unapplied amount: </TD> +  <TD><B><% $money_char %><% $unapplied %></B></TD> +</TR> + +% if ( $src_table eq 'cust_credit' ) { +    <TR> +      <TD ALIGN="right">Reason: </TD> +      <TD><B><% $src->reason %></B></TD> +    </TR> +% } + +</TABLE> +<BR> + +<SCRIPT TYPE="text/javascript"> +function changed(what) { +  dst = what.options[what.selectedIndex].value; + +% foreach my $dst ( @dst ) { + +    if ( dst == <% $dst->$dst_pkey %> ) { +      what.form.amount.value = "<% min($dst->$dst_unapplied, $unapplied) %>"; +    } + +% }  + +} +</SCRIPT> + +Apply to: + +<TABLE BGCOLOR="#cccccc" BORDER=0 CELLSPACING=0> + +<TR> +  <TD ALIGN="right"><% $dst_thing %>: </TD> +  <TD><SELECT NAME="<% $dst_pkey %>" SIZE=1 onChange="changed(this)"> +<OPTION VALUE=""> + +% foreach my $dst ( @dst ) {  +  <OPTION<% $dst->$dst_pkey eq $dst_pkeyvalue ? ' SELECTED' : '' %> VALUE="<% $dst->$dst_pkey %>">#<% $dst->$dst_pkey %> - <% time2str("%D", $dst->_date) %> - $<% $dst->$dst_unapplied %> +% }  + +</SELECT> +  </TD> +</TR> + +<TR> +  <TD ALIGN="right">Amount: </TD> +  <TD><% $money_char %><INPUT TYPE="text" NAME="amount" VALUE="<% $amount %>" SIZE=8 MAXLENGTH=8></TD> +</TR> + +</TABLE> + +<BR> +<CENTER><INPUT TYPE="submit" VALUE="Apply"></CENTER> + +</FORM> + +<% include('/elements/footer.html') %> + +<%init> + +my %opt = @_; + +my $conf = new FS::Conf; +my $money_char = $conf->config('money_char') || '$'; + +my $src_thing = ucfirst($opt{'src_thing'}); +my $src_table = $opt{'src_table'}; +my $src_pkey = dbdef->table($src_table)->primary_key; + +my $dst_thing = ucfirst($opt{'dst_thing'}); +my $dst_table = $opt{'dst_table'}; +my $dst_pkey = dbdef->table($dst_table)->primary_key; +my $dst_unapplied = $dst_table eq 'cust_bill' ? 'owed' : 'unapplied'; + +my $to = $dst_table eq 'cust_refund' ? ' to Refund' : ''; + +my($src_pkeyvalue, $amount, $dst_pkeyvalue); +if ( $cgi->param('error') ) { +  $src_pkeyvalue = $cgi->param($src_pkey); +  $amount    = $cgi->param('amount'); +  $dst_pkeyvalue    = $cgi->param($dst_pkey); +} else { +  my($query) = $cgi->keywords; +  $query =~ /^(\d+)$/; +  $src_pkeyvalue = $1; +  $amount = ''; +  $dst_pkeyvalue = ''; +} + +my $otaker = getotaker; + +my $p1 = popurl(1); + +my $src = qsearchs($src_table, { $src_pkey => $src_pkeyvalue } ); +die "$src_thing $src_pkeyvalue not found!" unless $src; + +my $unapplied = $src->unapplied; + +my @dst = sort {    $a->_date     <=> $b->_date +                 or $a->$dst_pkey <=> $b->$dst_pkey +               } +          grep { $_->$dst_unapplied != 0 } +          qsearch($dst_table, { 'custnum' => $src->custnum } ); + +</%init> diff --git a/httemplate/edit/process/cust_bill_pay.cgi b/httemplate/edit/process/cust_bill_pay.cgi index e2f89f197..2845d3233 100755 --- a/httemplate/edit/process/cust_bill_pay.cgi +++ b/httemplate/edit/process/cust_bill_pay.cgi @@ -1,49 +1,13 @@ -%if ( $error ) { -%  $cgi->param('error', $error); -<% $cgi->redirect(popurl(2). "cust_bill_pay.cgi?". $cgi->query_string ) %> -%} else { -<% header('Payment application sucessful') %> -  <SCRIPT TYPE="text/javascript"> -    window.top.location.reload(); -  </SCRIPT> -  </BODY> -  </HTML> -% }  +<% include('elements/ApplicationCommon.html', +     'error_redirect' => 'cust_bill_pay.cgi', +     'src_table'      => 'cust_pay', +     'src_thing'      => 'payment', +     'link_table'     => 'cust_bill_pay', +   ) +%>  <%init>  die "access denied"    unless $FS::CurrentUser::CurrentUser->access_right('Apply payment'); -$cgi->param('paynum') =~ /^(\d*)$/ or die "Illegal paynum!"; -my $paynum = $1; - -my $cust_pay = qsearchs('cust_pay', { 'paynum' => $paynum } ) -  or die "No such paynum"; - -my $cust_main = qsearchs('cust_main', { 'custnum' => $cust_pay->custnum } ) -  or die "Bogus credit:  not attached to customer"; - -my $custnum = $cust_main->custnum; - -my $new; -if ($cgi->param('invnum') =~ /^Refund$/) { -  $new = new FS::cust_refund ( { -    'reason'  => 'Refunding payment', #enter reason in UI -    'refund'  => $cgi->param('amount'), -    'payby'   => 'BILL', -    #'_date'   => $cgi->param('_date'), -    'payinfo' => 'Cash', #enter payinfo in UI -    'paynum' => $paynum, -  } ); -} else { -  $new = new FS::cust_bill_pay ( { -    map { -      $_, scalar($cgi->param($_)); -    #} qw(custnum _date amount invnum) -    } fields('cust_bill_pay') -  } ); -} - -my $error = $new->insert; -  </%init> diff --git a/httemplate/edit/process/cust_credit_bill.cgi b/httemplate/edit/process/cust_credit_bill.cgi index 17f9fcb35..c0f34ae5b 100755 --- a/httemplate/edit/process/cust_credit_bill.cgi +++ b/httemplate/edit/process/cust_credit_bill.cgi @@ -1,50 +1,13 @@ -%if ( $error ) { -%  $cgi->param('error', $error); -<% $cgi->redirect(popurl(2). "cust_credit_bill.cgi?". $cgi->query_string ) %> -%} else { -<% header('Credit application sucessful') %> -  <SCRIPT TYPE="text/javascript"> -    window.top.location.reload(); -  </SCRIPT> -  </BODY> -  </HTML> -% }  +<% include('elements/ApplicationCommon.html', +     'error_redirect' => 'cust_credit_bill.cgi', +     'src_table'      => 'cust_credit', +     'src_thing'      => 'credit', +     'link_table'     => 'cust_credit_bill', +   ) +%>  <%init>  die "access denied"    unless $FS::CurrentUser::CurrentUser->access_right('Apply credit'); -$cgi->param('crednum') =~ /^(\d*)$/ or die "Illegal crednum!"; -my $crednum = $1; - -my $cust_credit = qsearchs('cust_credit', { 'crednum' => $crednum } ) -  or die "No such crednum"; - -my $cust_main = qsearchs('cust_main', { 'custnum' => $cust_credit->custnum } ) -  or die "Bogus credit:  not attached to customer"; - -my $custnum = $cust_main->custnum; - -my $new; -if ($cgi->param('invnum') =~ /^Refund$/) { -  $new = new FS::cust_refund ( { -    'reason'  => ( $cust_credit->reason || 'refund from credit' ), -    'refund'  => $cgi->param('amount'), -    'payby'   => 'BILL', -    #'_date'   => $cgi->param('_date'), -    #'payinfo' => 'Cash', -    'payinfo' => 'Refund', -    'crednum' => $crednum, -  } ); -} else { -  $new = new FS::cust_credit_bill ( { -    map { -      $_, scalar($cgi->param($_)); -    #} qw(custnum _date amount invnum) -    } fields('cust_credit_bill') -  } ); -} - -my $error = $new->insert; -  </%init> diff --git a/httemplate/edit/process/cust_credit_refund.cgi b/httemplate/edit/process/cust_credit_refund.cgi new file mode 100755 index 000000000..d4fd9ff9e --- /dev/null +++ b/httemplate/edit/process/cust_credit_refund.cgi @@ -0,0 +1,13 @@ +<% include('elements/ApplicationCommon.html', +     'error_redirect' => 'cust_credit_bill.cgi', +     'src_table'      => 'cust_credit', +     'src_thing'      => 'credit', +     'link_table'     => 'cust_credit_refund', +   ) +%> +<%init> + +die "access denied" +  unless $FS::CurrentUser::CurrentUser->access_right('Apply credit'); + +</%init> diff --git a/httemplate/edit/process/cust_pay_refund.cgi b/httemplate/edit/process/cust_pay_refund.cgi new file mode 100755 index 000000000..ffe89ec64 --- /dev/null +++ b/httemplate/edit/process/cust_pay_refund.cgi @@ -0,0 +1,13 @@ +<% include('elements/ApplicationCommon.html', +     'error_redirect' => 'cust_bill_pay.cgi', +     'src_table'      => 'cust_pay', +     'src_thing'      => 'payment', +     'link_table'     => 'cust_pay_refund', +   ) +%> +<%init> + +die "access denied" +  unless $FS::CurrentUser::CurrentUser->access_right('Apply payment'); + +</%init> diff --git a/httemplate/edit/process/elements/ApplicationCommon.html b/httemplate/edit/process/elements/ApplicationCommon.html new file mode 100644 index 000000000..2782dc231 --- /dev/null +++ b/httemplate/edit/process/elements/ApplicationCommon.html @@ -0,0 +1,77 @@ +<%doc> + +Examples: + +  #cust_bill_pay +  include('elements/ApplicationCommon.html', +    'error_redirect' => 'cust_bill_pay.cgi', +    'src_table'      => 'cust_pay', +    'src_thing'      => 'payment', +    'link_table'     => 'cust_bill_pay', +  ) + +  #cust_credit_bill +  include('elements/ApplicationCommon.html', +    'error_redirect' => 'cust_credit_bill.cgi', +    'src_table'      => 'cust_credit', +    'src_thing'      => 'credit', +    'link_table'     => 'cust_credit_bill', +  ) + +</%doc> +%if ( $error ) { +%  $cgi->param('error', $error); +<% $cgi->redirect(popurl(2). $opt{error_redirect}. '?'. $cgi->query_string ) %> +%} else { +<% header("$src_thing application$to sucessful") %> +  <SCRIPT TYPE="text/javascript"> +    window.top.location.reload(); +  </SCRIPT> +  </BODY> +  </HTML> +% }  +<%init> + +my %opt = @_; + +my $src_thing = ucfirst($opt{'src_thing'}); +my $src_table = $opt{'src_table'}; +my $src_pkey = dbdef->table($src_table)->primary_key; + +my $to = $opt{'link_table'} =~  /refund/ ? ' to Refund' : ''; + +$cgi->param($src_pkey) =~ /^(\d+)$/ or die "Illegal $src_pkey!"; +my $src_pkeyvalue = $1; + +my $src = qsearchs($src_table, { $src_pkey => $src_pkeyvalue } ) +  or die "No such $src_pkey: $src_pkeyvalue"; + +my $cust_main = qsearchs('cust_main', { 'custnum' => $src->custnum } ) +  or die "Bogus $src_thing: not attached to customer"; + +my $custnum = $cust_main->custnum; + +my $new; +#  $new = new FS::cust_refund ( { +#    'reason'  => 'Refunding payment', #enter reason in UI +#    'refund'  => $cgi->param('amount'), +#    'payby'   => 'BILL', +#    #'_date'   => $cgi->param('_date'), +#    'payinfo' => 'Cash', #enter payinfo in UI +#    'paynum' => $paynum, +#  } ); +#} else { + +  my $class = 'FS::'. $opt{link_table}; + +  $new = $class->new( { +    map { +      $_ => scalar($cgi->param($_)); +    } fields($opt{link_table}) +  } ); + +#} + +my $error = $new->insert; + +</%init> diff --git a/httemplate/view/cust_main/payment_history/credit.html b/httemplate/view/cust_main/payment_history/credit.html index bf769455b..fd43c1ac8 100644 --- a/httemplate/view/cust_main/payment_history/credit.html +++ b/httemplate/view/cust_main/payment_history/credit.html @@ -25,6 +25,16 @@ if (    scalar(@cust_credit_bill)   == 0                                #default# 'height' => 336,                            ).                ')'; +    #XXX if there are any open refunds +    $apply.= ' ('. include( '/elements/popup_link.html', +                              'label'    => 'apply to refund', +                              'action'   => "${p}edit/cust_credit_refund.cgi?". +                                            $cust_credit->crednum, +                              'actionlabel' => 'Apply credit to refund', +                              'width'    => 392, +                              #default# 'height' => 336, +                          ). +              ')';    }  } elsif (    scalar(@cust_credit_bill)   == 1            && scalar(@cust_credit_refund) == 0 @@ -60,15 +70,25 @@ if (    scalar(@cust_credit_bill)   == 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, -                          ). -              ')'; +      $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, +                            ). +               ')'; +      #XXX if there are any open refunds +      $apply.= ' ('. include( '/elements/popup_link.html', +                                'label'       => 'apply to refund', +                                'action'      => "${p}edit/cust_credit_refund.cgi?". +                                                 $cust_credit->crednum, +                                'actionlabel' => 'Apply credit to refund', +                                'width'       => 392, +                                #default# 'height' => 336, +                            ). +               ')';      }      $desc .= '<BR>';    } diff --git a/httemplate/view/cust_main/payment_history/payment.html b/httemplate/view/cust_main/payment_history/payment.html index 96fca7f49..b9a06946d 100644 --- a/httemplate/view/cust_main/payment_history/payment.html +++ b/httemplate/view/cust_main/payment_history/payment.html @@ -49,6 +49,16 @@ if (    scalar(@cust_bill_pay)   == 0                                #default# 'height' => 336,                            ).                ')'; +    #XXX if there are any open refunds +    $apply.= ' ('. include( '/elements/popup_link.html', +                              'label'       => 'apply to refund', +                              'action'      => "${p}edit/cust_pay_refund.cgi?". +                                               $cust_pay->paynum, +                              'actionlabel' => 'Apply payment to refund', +                              'width'       => 392, +                              #default# 'height' => 336, +                          ). +              ')';    }  } elsif (    scalar(@cust_bill_pay)   == 1            && scalar(@cust_pay_refund) == 0 @@ -85,15 +95,25 @@ if (    scalar(@cust_bill_pay)   == 0               '<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, -                          ). -              ')'; +      $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, +                           ). +               ')'; +      #XXX if there are any open refunds +      $apply.= ' ('. include( '/elements/popup_link.html', +                                'label'      => 'apply to refund', +                                'action'     => "${p}edit/cust_pay_refund.cgi?". +                                                $cust_pay->paynum, +                                'actionlabel' => 'Apply payment to refund', +                                'width'      => 392, +                                #default# 'height' => 336, +                           ). +               ')';      }      $desc .= '<BR>';    } | 
