diff options
author | Ivan Kohler <ivan@freeside.biz> | 2016-11-16 21:02:42 -0800 |
---|---|---|
committer | Ivan Kohler <ivan@freeside.biz> | 2016-11-16 21:02:42 -0800 |
commit | 2b76dd3be38311e9144a3f2017dfdaec6261fff3 (patch) | |
tree | b03d593d58b93c70ed373168902ce9495e325f84 | |
parent | 39aad14839e0e1be55c881bacd79d366059498fa (diff) |
add date to quick payment entry, RT#73382
-rw-r--r-- | httemplate/elements/customer-table.html | 26 | ||||
-rw-r--r-- | httemplate/misc/batch-cust_pay.html | 18 | ||||
-rw-r--r-- | httemplate/misc/process/batch-cust_pay.cgi | 1 |
3 files changed, 34 insertions, 11 deletions
diff --git a/httemplate/elements/customer-table.html b/httemplate/elements/customer-table.html index 0aa792d..25c26b5 100644 --- a/httemplate/elements/customer-table.html +++ b/httemplate/elements/customer-table.html @@ -25,7 +25,7 @@ Example: 'custnum_update_callback' => 'name_of_js_callback' #passed a rownum #listrefs - 'types' => ['immutable', ''], # immutable or ''/text + 'type' => ['immutable', ''], # immutable, checkbox, date or ''/text 'align' => [ 'c', 'l', 'r', '' ], 'size' => [], # sizes ignored for immutable 'color' => [], @@ -66,7 +66,10 @@ This mason element is currently only used by misc/batch-cust_pay.html, and probably should be cleaned up more before being used by anything else. </%doc> - +<LINK REL="stylesheet" TYPE="text/css" HREF="<%$fsurl%>elements/calendar-win2k-2.css" TITLE="win2k-2"> +<SCRIPT TYPE="text/javascript" SRC="<%$fsurl%>elements/calendar_stripped.js"></SCRIPT> +<SCRIPT TYPE="text/javascript" SRC="<%$fsurl%>elements/calendar-en.js"></SCRIPT> +<SCRIPT TYPE="text/javascript" SRC="<%$fsurl%>elements/calendar-setup.js"></SCRIPT> <SCRIPT TYPE="text/javascript"> var num_open_invoices = new Array; @@ -652,6 +655,12 @@ and probably should be cleaned up more before being used by anything else. % } elsif ( $types->[$col] eq 'checkbox' ) { my_input.setAttribute('type', 'checkbox'); my_input.checked = (values && values.<% $field %>) ? true : false; +% } elsif ( $types->[$col] eq 'date' ) { + my_input_button = document.createElement('IMG'); + my_input_button.setAttribute('src', '<% $fsurl %>images/calendar.png'); + my_input_button.setAttribute('title', <% mt('Select date') |js_string %>); + my_input_button.setAttribute('name', '<% $name %>'+thisrownum+'button'); + my_input_button.setAttribute('id', '<% $name %>'+thisrownum+'button'); % } my_input.value = (values && values.<% $field %>) || ''; % if ( $opt{onchange}->[$col] ) { @@ -662,9 +671,21 @@ and probably should be cleaned up more before being used by anything else. my_input.onkeyup = calc_total<%$col%>; % } my_cell.appendChild(my_input); +% if ( $types->[$col] eq 'date' ) { + my_cell.appendChild(my_input_button); +% } row.appendChild(my_cell); +% if ( $types->[$col] eq 'date' ) { + Calendar.setup({ + inputField: '<% $name %>'+thisrownum, + ifFormat: "<% $date_format %>", + button: '<% $name %>'+thisrownum+'button', + align: "BR" + }); +% } + % $col++; % } @@ -805,6 +826,7 @@ addRow(); my(%opt) = @_; my $conf = new FS::Conf; +my $date_format = $conf->config('date_format') || '%m/%d/%Y'; my $types = $opt{'type'} ? [ @{$opt{'type'}} ] : []; my $sizes = $opt{'size'} ? [ @{$opt{'size'}} ] : []; diff --git a/httemplate/misc/batch-cust_pay.html b/httemplate/misc/batch-cust_pay.html index d4d4afa..e20e4a4 100644 --- a/httemplate/misc/batch-cust_pay.html +++ b/httemplate/misc/batch-cust_pay.html @@ -469,16 +469,16 @@ die "access denied" my $conf = new FS::Conf; my $money_char = $conf->config('money_char') || '$'; -my @header = ( 'Amount', 'Check #' ); -my @fields = ( 'paid', 'payinfo' ); -my @types = ( '', '' ); -my @align = ( 'r', 'r' ); -my @sizes = ( 8, 10 ); -my @colors = ( '', '' ); +my @header = ( 'Amount', 'Check #', 'Date override' ); +my @fields = ( 'paid', 'payinfo', '_date' ); +my @types = ( '', '', 'date', ); +my @align = ( 'r', 'r', 'r' ); +my @sizes = ( 8, 10, 8 ); +my @colors = ( '', '', '' ); my %param = (); -my @footer = ( '_TOTAL', '' ); -my @footer_align = ( 'r', 'r' ); -my @onchange = ( '', '' );; +my @footer = ( '_TOTAL', '', '' ); +my @footer_align = ( 'r', 'r', '' ); +my @onchange = ( '', '', '' ); my $use_discounts = ''; # Not entirely sure this works anymore... diff --git a/httemplate/misc/process/batch-cust_pay.cgi b/httemplate/misc/process/batch-cust_pay.cgi index ff78862..b4580bb 100644 --- a/httemplate/misc/process/batch-cust_pay.cgi +++ b/httemplate/misc/process/batch-cust_pay.cgi @@ -38,6 +38,7 @@ foreach my $row ( map /^custnum(\d+)$/, keys %$param ) { 'paid' => $param->{"paid$row"}, 'payby' => 'BILL', 'payinfo' => $param->{"payinfo$row"}, + '_date' => $param->{"_date$row"}, 'discount_term' => $param->{"discount_term$row"}, 'paybatch' => $paybatch, 'no_auto_apply' => exists($param->{"no_auto_apply$row"}) ? 'Y' : '', |