my ($class, $param) = @_;
my @where = ();
+ my $addl_from = '';
#_date
if ( $param->{_date} ) {
"vend_bill._date < $ending";
}
- #_date
+ #payment_date
if ( $param->{payment_date} ) {
my($beginning, $ending) = @{$param->{payment_date}};
"vend_pay._date < $ending";
}
+ if ( $param->{'classnum'} =~ /^(\d+)$/ ) {
+ #also simplistic, but good for now
+ $addl_from .= ' LEFT JOIN vend_main USING (vendnum) ';
+ push @where, "vend_main.classnum = $1";
+ }
+
my $extra_sql = scalar(@where) ? ' WHERE '. join(' AND ', @where) : '';
#simplistic, but how we are for now
- my $addl_from = ' LEFT JOIN vend_bill_pay USING (vendbillnum) '.
- ' LEFT JOIN vend_pay USING (vendpaynum) ';
+ $addl_from .= ' LEFT JOIN vend_bill_pay USING (vendbillnum) '.
+ ' LEFT JOIN vend_pay USING (vendpaynum) ';
my $count_query = "SELECT COUNT(*), SUM(charged) FROM vend_bill $addl_from $extra_sql";
--- /dev/null
+<% include( '/elements/select-table.html',
+ 'table' => 'vend_class',
+ 'name_col' => 'classname',
+ 'value' => $classnum,
+ 'empty_label' => '(none)',
+ 'hashref' => { 'disabled' => '' },
+ %opt,
+ )
+%>
+<%init>
+
+my %opt = @_;
+my $classnum = $opt{'curr_value'} || $opt{'value'};
+
+$opt{'records'} = delete $opt{'vend_class'}
+ if $opt{'vend_class'};
+
+</%init>
--- /dev/null
+% if ( 0 ) { # scalar(@{ $opt{'vend_class'} }) == 0 ) {
+
+ <INPUT TYPE="hidden" NAME="<% $opt{'element_name'} || $opt{'field'} || 'classnum' %>" VALUE="">
+
+% } else {
+
+ <TR>
+ <TD ALIGN="right"><% $opt{'label'} || 'Vendor class' %></TD>
+ <TD>
+ <% include( '/elements/select-vend_class.html',
+ 'curr_value' => $classnum,
+ %opt
+ )
+ %>
+ </TD>
+ </TR>
+
+% }
+
+<%init>
+
+my %opt = @_;
+my $classnum = $opt{'curr_value'} || $opt{'value'};
+
+$opt{'vend_class'} ||= [ qsearch( 'vend_class', { disabled=>'' } ) ];
+
+</%init>
<TABLE BGCOLOR="#cccccc" CELLSPACING=0>
- <TR>
+ <TR>
<TD ALIGN="right" VALIGN="center"><% mt('Date') |h %></TD>
<TD>
<TABLE>
</TD>
</TR>
- <TR>
+ <TR>
<TD ALIGN="right" VALIGN="center"><% mt('Payment date') |h %></TD>
<TD>
<TABLE>
</TD>
</TR>
+ <& /elements/tr-select-vend_class.html,
+ &>
+
</TABLE>
<BR>
($beginning, $ending) = FS::UI::Web::parse_beginning_ending($cgi, 'payment_date');
$search{'payment_date'} = [ $beginning, $ending ];
+$search{'classnum'} = $cgi->param('classnum');
+
my $query = FS::vend_bill->search( \%search );
my $count_query = delete( $query->{'count_query'} );