diff options
author | Christopher Burger <burgerc@freeside.biz> | 2018-01-02 19:47:44 -0500 |
---|---|---|
committer | Mitch Jackson <mitch@freeside.biz> | 2018-01-08 21:35:47 -0600 |
commit | 15c8ee2f20ee09f1210c484c6393ddb7d603dd3b (patch) | |
tree | 765f5fa7c8b48b4e37597f07587bc8f42baf3a90 | |
parent | 30e0dbd4f76ec2a9040ea3619501c59cb19fba1d (diff) |
RT# 34134 - removed payment amount field from payment screen, added 3 payment options (pay full balance, pay specific invoice, pay another amount) which will prefill the payment amount field.
-rw-r--r-- | httemplate/elements/tr-amount_fee.html | 4 | ||||
-rw-r--r-- | httemplate/elements/tr-select-invoice.html | 25 | ||||
-rw-r--r-- | httemplate/elements/tr-select-payment_options.html | 68 | ||||
-rw-r--r-- | httemplate/misc/payment.cgi | 3 |
4 files changed, 97 insertions, 3 deletions
diff --git a/httemplate/elements/tr-amount_fee.html b/httemplate/elements/tr-amount_fee.html index 12488521a..426957a80 100644 --- a/httemplate/elements/tr-amount_fee.html +++ b/httemplate/elements/tr-amount_fee.html @@ -1,4 +1,4 @@ - <TR> + <TR ID="payment_amount_row" STYLE="display:none;"> <TH ALIGN="right"><% mt('Payment amount') |h %></TH> <TD COLSPAN=7> <TABLE><TR><TD BGCOLOR="#ffffff"> @@ -15,7 +15,7 @@ onKeyPress = "amount_changed(this)" % } > - </TD><TD BGCOLOR="#cccccc"> + </TD><TD BGCOLOR="<% length($fee) ? '#cccccc' : '#ffffff' %>"> % if ( $fee ) { <INPUT TYPE="hidden" NAME="fee_pkgpart" VALUE="<% $fee_pkg->pkgpart %>"> <INPUT TYPE="hidden" NAME="fee" VALUE="<% $fee_display eq 'add' ? $fee : '' %>"> diff --git a/httemplate/elements/tr-select-invoice.html b/httemplate/elements/tr-select-invoice.html new file mode 100644 index 000000000..03625b659 --- /dev/null +++ b/httemplate/elements/tr-select-invoice.html @@ -0,0 +1,25 @@ + + <TR ID="invoice_row" STYLE="display:none;"> + <TH ALIGN="right"><% mt('Open invoices') |h %></TH> + <TD COLSPAN=7> + <SELECT + ID = "<% $opt{prefix} %>invoice" + NAME = "<% $opt{prefix} %>invoice" + onChange = "<% $opt{prefix} %>invoice_select_changed(this)" + <% $opt{disabled} %> + > + <OPTION VALUE="select">Select an invoice to pay</OPTION> +% foreach my $record (@records) { +% my $read_date = time2str("%b %o, %Y", $record->_date); + <OPTION VALUE="<% $record->charged %>"><% $record->invnum %> (<% $read_date %>) - <% $record->charged %></OPTION> +% } + + </SELECT> + </TD> + </TR> + +<%init> + +my %opt = @_; + +</%init> diff --git a/httemplate/elements/tr-select-payment_options.html b/httemplate/elements/tr-select-payment_options.html new file mode 100644 index 000000000..5197c3706 --- /dev/null +++ b/httemplate/elements/tr-select-payment_options.html @@ -0,0 +1,68 @@ + + <TR STYLE="display:block"> + <TH ALIGN="right"><% mt('Payment options') |h %></TH> + <TD COLSPAN=7> + <SELECT + ID = "<% $opt{prefix} %>payment_option" + NAME = "<% $opt{prefix} %>payment_option" + onChange = "<% $opt{prefix} %>payment_option_changed(this)" + <% $opt{disabled} %> + > + <OPTION VALUE="select">Select payment option</OPTION> + <OPTION VALUE="<% $opt{amount} %>">Pay full balance</OPTION> + <OPTION VALUE="invoice">Pay specific invoice</OPTION> + <OPTION VALUE="">Pay specific amount</OPTION> + </SELECT> + </TD> + </TR> + + <& /elements/tr-select-invoice.html, + %opt + &> + + <& /elements/tr-amount_fee.html, + %opt + &> + + <SCRIPT TYPE="text/javascript"> + + function <% $opt{prefix} %>payment_option_changed(what) { + + if ( what.value == 'select' ) { + document.getElementById('payment_amount_row').style.display = 'none'; + document.getElementById('invoice_row').style.display = 'none'; + document.getElementById('amount').value = ''; + } + else if ( what.value == 'invoice' ) { + document.getElementById('payment_amount_row').style.display = 'none'; + document.getElementById('invoice_row').style.display = 'block'; + document.getElementById('amount').value = ''; + } + else { + document.getElementById('payment_amount_row').style.display = 'block'; + document.getElementById('invoice_row').style.display = 'none'; + document.getElementById('amount').value = what.value; + } + + } + + function <% $opt{prefix} %>invoice_select_changed(what) { + + if ( what.value == 'select' ) { + document.getElementById('payment_amount_row').style.display = 'none'; + document.getElementById('amount').value = ''; + } + else { + document.getElementById('payment_amount_row').style.display = 'block'; + document.getElementById('amount').value = what.value; + } + + } + +</SCRIPT> + +<%init> + +my %opt = @_; + +</%init>
\ No newline at end of file diff --git a/httemplate/misc/payment.cgi b/httemplate/misc/payment.cgi index 35f57e8d6..7bf1713ff 100644 --- a/httemplate/misc/payment.cgi +++ b/httemplate/misc/payment.cgi @@ -12,7 +12,8 @@ <TABLE class="fsinnerbox"> - <& /elements/tr-amount_fee.html, + <& /elements/tr-select-payment_options.html, + 'custnum' => $cust_main->custnum, 'amount' => $amount, 'process-pkgpart' => scalar($conf->config('manual_process-pkgpart', $cust_main->agentnum)), |