'group_column' => 'payby',
'group_label' => 'payby_name',
- 'subtotal' => { 'paid' => 'sum(paid)' },
+ 'subtotal' => { $opt{name_verb} => "sum($amount_field)" },
'subtotal_row' => [ 'Subtotal',
- sub { sprintf($money, $_[0]->paid) },
+ sub { sprintf($money, $_[0]->$amount_field) },
],
'total_row' => [ '<B>Total</B>',
- sub { sprintf("<B>$money</B>", $_[0]->paid) },
+ sub { sprintf("<B>$money</B>", $_[0]->$amount_field) },
],
+ 'show_combined' => 1,
&>
<%init>
sub { sprintf($money, shift->$amount_field() ) },
;
push @link_onclicks, $sub_receipt, '';
-push @sort_fields, '', $amount_field;
+push @sort_fields, 'paysort', $amount_field;
if ( $unapplied ) {
push @header, emt('Unapplied');
my @search = ();
my @select = (
"$table.*",
+ "( $table.payby || ' ' || coalesce($table.paymask, $table.payinfo) ) AS paysort",
FS::UI::Web::cust_sql_fields(),
'cust_main.custnum AS cust_main_custnum',
);
push @queries, $detail_query;
}
+if ( $opt{show_combined} ) {
+ # set up group 0 as a combined view
+ unshift @groups, $totals;
+ unshift @group_labels, 'All ' . PL($opt{name_singular}) .
+ ' (' . $totals->num_rows . ')';
+ unshift @group_footers, []; # the total footer will suffice
+ unshift @queries, $base_query->clone;
+}
+
my @total_footer;
if ($opt{'total_row'}) {
for( my $col = 0;
push @menubar, $group_info->{group_labels}[$i], ";group=$i";
}
+# not enabled yet; if we need this at some point, enable it on a per-report
+# basis and then disable it for search/cust_pay.html, because it's redundant
+# to see "Check Check #130108", "Credit card Card #401...", etc.
+
+## if this is the combined view, add a column for the group key
+#if ( $curr_group == 0 and $opt{'show_combined'} ) {
+# unshift @{$opt{'header'}}, '';
+# unshift @{$opt{'fields'}}, $opt{group_label};
+# unshift @{$opt{'sort_fields'}}, $opt{group_column} if $opt{'sort_fields'};
+# $opt{'align'} = 'c'.$opt{'align'};
+# foreach (qw(header2 links link_onclicks color size style cell_style xls_format)) {
+# if ( $opt{$_} ) {
+# unshift @{$opt{$_}}, '';
+# }
+# }
+#}
+
</%init>
<& /elements/header.html, $opt{title} &>
<A HREF="<% $cgi->self_url %>"><% emt('as Excel spreadsheet') %></A><BR>
% $cgi->param('type', 'html-print');
<A HREF="<% $cgi->self_url %>"><% emt('as printable copy') %></A><BR>
+% $cgi->delete('type');
</P>
<% $pager %>
<%init>
my %opt = @_;
-my $group_info = $m->comp('core', %opt);
+my $group_info = $m->comp('core', %opt,
+ 'show_combined' => 0
+);
my $ncols = scalar(@{ $opt{header} });
my $total_footer = $group_info->{total_footer} || [];