[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