[freeside-commits] branch master updated. 17ca8b897e82cffb3731a63ccae1fb12494a7246
Ivan
ivan at 420.am
Sun Jan 19 14:05:45 PST 2014
The branch, master has been updated
via 17ca8b897e82cffb3731a63ccae1fb12494a7246 (commit)
from bbf3f6d6af46d522a395e4c31ed8818059517b75 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 17ca8b897e82cffb3731a63ccae1fb12494a7246
Author: Ivan Kohler <ivan at freeside.biz>
Date: Sun Jan 19 14:05:44 2014 -0800
select quick payment entry batch in payment report, RT#26343
diff --git a/httemplate/elements/select-paybatch.html b/httemplate/elements/select-paybatch.html
new file mode 100644
index 0000000..1dba452
--- /dev/null
+++ b/httemplate/elements/select-paybatch.html
@@ -0,0 +1,46 @@
+<SELECT NAME="<% $opt{field} || 'paybatch' %>">
+
+ <OPTION VALUE="">any/none</OPTION>
+
+% foreach my $p (@paybatch) {
+% my( $paybatch, $date ) = @$p;
+% #my @components = split('-', $paybatch);
+% my $pretty_date = time2str($date_format, $date);
+% my $pretty = "$pretty_date: $paybatch";
+
+ <OPTION VALUE="<% $paybatch |h %>"><% $pretty |h %></OPTION>
+
+% }
+
+</SELECT>
+<%init>
+
+use Date::Parse qw(str2time); #i should be in Mason.pm
+
+my %opt = @_;
+#my $paybatch = $opt{'curr_value'}; # || $opt{'value'} necessary?
+
+my $conf = new FS::Conf;
+my $date_format = $conf->config('date_format') || '%m/%d/%Y';
+
+my $sth = dbh->prepare('SELECT DISTINCT paybatch FROM cust_pay
+ WHERE paybatch IS NOT NULL')
+ or die dbh->errstr;
+$sth->execute or die $sth->errstr;
+
+my @paybatch = #map $_->[0],
+ sort { $a->[1] <=> $b->[1] }
+ map { my $date = '';
+ if ( /^\w+\-(\d+)\-/ ) {
+ $date = $1;
+ } elsif ( /^\w+\-([\d\/]+)\-([\d\:]+)\-/ ) {
+ $date = str2time("$1 $2");
+ #} else {
+ # warn "unparsable: $_\n";
+ }
+ [ $_, $date ];
+ }
+ grep ! /^webui-/, #don't actually want the single entries
+ map $_->[0], @{ $sth->fetchall_arrayref };
+
+</%init>
diff --git a/httemplate/elements/tr-select-paybatch.html b/httemplate/elements/tr-select-paybatch.html
new file mode 100644
index 0000000..aedf893
--- /dev/null
+++ b/httemplate/elements/tr-select-paybatch.html
@@ -0,0 +1,13 @@
+<TR>
+ <TD ALIGN="right"><% $opt{'paybatch'} || 'Payment entry batch: ' %></TD>
+ <TD>
+ <% include( '/elements/select-paybatch.html', 'curr_value' => $selected_paybatch, %opt ) %>
+ </TD>
+</TR>
+<%init>
+
+my( %opt ) = @_;
+#my $conf = new FS::Conf;
+my $selected_paybatch = $opt{'curr_value'}; # || $opt{'value'} necessary?
+
+</%init>
diff --git a/httemplate/search/elements/cust_pay_or_refund.html b/httemplate/search/elements/cust_pay_or_refund.html
index 234121f..c272a16 100755
--- a/httemplate/search/elements/cust_pay_or_refund.html
+++ b/httemplate/search/elements/cust_pay_or_refund.html
@@ -440,8 +440,6 @@ if ( $cgi->param('magic') ) {
$cgi->param('paybatch') =~ /^([\w\/\:\-\.]+)$/
or die "illegal paybatch: ". $cgi->param('paybatch');
- push @search, "paybatch = '$1'";
-
$orderby = "LOWER(company || ' ' || last || ' ' || first )";
} elsif ( $cgi->param('magic') eq 'batchnum' ) {
@@ -457,6 +455,10 @@ if ( $cgi->param('magic') ) {
die "unknown search magic: ". $cgi->param('magic');
}
+ if ( $cgi->param('paybatch') =~ /^([\w\/\:\-\.]+)$/ ) {
+ push @search, "paybatch = '$1'";
+ }
+
#unapplied payment/refund
if ( $unapplied ) {
push @select, '(' . "FS::$table"->unapplied_sql . ') AS unapplied_amount';
diff --git a/httemplate/search/elements/report_cust_pay_or_refund.html b/httemplate/search/elements/report_cust_pay_or_refund.html
index b39c7c0..25f7cda 100644
--- a/httemplate/search/elements/report_cust_pay_or_refund.html
+++ b/httemplate/search/elements/report_cust_pay_or_refund.html
@@ -89,6 +89,16 @@ Examples:
</TR>
% }
+% if ( $table eq 'cust_pay' ) {
+
+% # payment batch
+% # <& /elements/tr-select-batchnum.html &>
+
+% #payment "entry" batch (should probably just all become the same thing)
+ <& /elements/tr-select-paybatch.html &>
+
+% }
+
<& /elements/tr-input-lessthan_greaterthan.html,
'label' => emt('Amount'),
'field' => 'paid',
-----------------------------------------------------------------------
Summary of changes:
httemplate/elements/select-paybatch.html | 46 ++++++++++++++++++++
httemplate/elements/tr-select-paybatch.html | 13 ++++++
httemplate/search/elements/cust_pay_or_refund.html | 6 ++-
.../search/elements/report_cust_pay_or_refund.html | 10 ++++
4 files changed, 73 insertions(+), 2 deletions(-)
create mode 100644 httemplate/elements/select-paybatch.html
create mode 100644 httemplate/elements/tr-select-paybatch.html
More information about the freeside-commits
mailing list