summaryrefslogtreecommitdiff
path: root/httemplate/search
diff options
context:
space:
mode:
authormark <mark>2011-12-08 21:13:58 +0000
committermark <mark>2011-12-08 21:13:58 +0000
commit3ab9b93b970353bfddc44b65bbb79d3aa586ded7 (patch)
treeb231b2928de907b5aa09b15e5159d76029b8e3e4 /httemplate/search
parent5df49c99a8c9cb241910b2cf262d19bdbae1f612 (diff)
promised payment date for invoices, #13554
Diffstat (limited to 'httemplate/search')
-rwxr-xr-xhttemplate/search/cust_bill.html21
-rw-r--r--httemplate/search/report_cust_bill.html19
2 files changed, 39 insertions, 1 deletions
diff --git a/httemplate/search/cust_bill.html b/httemplate/search/cust_bill.html
index 4117112f5..813f9b843 100755
--- a/httemplate/search/cust_bill.html
+++ b/httemplate/search/cust_bill.html
@@ -128,7 +128,26 @@ if ( $cgi->param('invnum') =~ /^\s*(FS-)?(\d+)\s*$/ ) {
$search{'newest_percust'} = 1;
$count_query = "SELECT COUNT(DISTINCT cust_bill.custnum), 'N/A', 'N/A'";
}
-
+
+ # promised date
+ my $start_of_day = timelocal(0, 0, 0, (localtime(time))[3,4,5]);
+ foreach ( $cgi->param('promised_date') ) {
+ # only if at least one box is checked
+ $search{promised_date} ||= [ $start_of_day, $start_of_day, 0 ];
+ if ($_ eq 'past') {
+ # accept everything before today
+ $search{promised_date}[0] = 0;
+ }
+ elsif ( $_ eq 'future' ) {
+ # accept everything after today
+ $search{promised_date}[1] = 4294967295;
+ }
+ elsif ( $_ eq 'null' ) {
+ # accept nulls
+ $search{promised_date}[2] = 1;
+ }
+ }
+
my $payby_sql = '';
$payby_sql = ' AND (' .
join(' OR ', map { "cust_main.payby = '$_'" } $cgi->param('payby') ) .
diff --git a/httemplate/search/report_cust_bill.html b/httemplate/search/report_cust_bill.html
index 0f0d91b14..51618fb24 100644
--- a/httemplate/search/report_cust_bill.html
+++ b/httemplate/search/report_cust_bill.html
@@ -37,7 +37,23 @@
&>
% }
+% if ( $conf->exists('cust_bill-enable_promised_date') ) {
<TR>
+
+ <TD ALIGN="right" STYLE="vertical-align:text-top">
+ <% emt('Promised payment date:') %></TD>
+ <TD>
+ <INPUT TYPE="checkbox" NAME="promised_date" CHECKED VALUE="null">
+ <% emt('None') %> <BR>
+ <INPUT TYPE="checkbox" NAME="promised_date" CHECKED VALUE="past">
+ <% emt('In the past') %><BR>
+ <INPUT TYPE="checkbox" NAME="promised_date" CHECKED VALUE="future">
+ <% emt('In the future') %><BR>
+ </TD>
+ </TR>
+% }
+
+<TR>
<TD ALIGN="right"><INPUT TYPE="checkbox" NAME="open" VALUE="1" CHECKED></TD>
<TD><% mt('Show only open invoices') |h %></TD>
</TR>
@@ -49,6 +65,7 @@
</TR>
% }
+
</TABLE>
<BR>
@@ -62,6 +79,8 @@
die "access denied"
unless $FS::CurrentUser::CurrentUser->access_right('List invoices');
+my $conf = new FS::Conf;
+
my $title = 'Invoice Report';
#false laziness w/report_cust_pkg.html
my @title_arg = ();