projects
/
freeside.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
add per-customer "Invoice reports" link, RT#13802
[freeside.git]
/
FS
/
FS
/
cust_bill.pm
diff --git
a/FS/FS/cust_bill.pm
b/FS/FS/cust_bill.pm
index
2d7341e
..
f5219c0
100644
(file)
--- a/
FS/FS/cust_bill.pm
+++ b/
FS/FS/cust_bill.pm
@@
-2132,7
+2132,7
@@
sub print_text {
$params{'time'} = $today if $today;
$params{'template'} = $template if $template;
$params{$_} = $opt{$_}
$params{'time'} = $today if $today;
$params{'template'} = $template if $template;
$params{$_} = $opt{$_}
- foreach grep $opt{$_}, qw( unsque
a
lch_cdr notice_name );
+ foreach grep $opt{$_}, qw( unsquelch_cdr notice_name );
$self->print_generic( %params );
}
$self->print_generic( %params );
}
@@
-2174,7
+2174,7
@@
sub print_latex {
$params{'time'} = $today if $today;
$params{'template'} = $template if $template;
$params{$_} = $opt{$_}
$params{'time'} = $today if $today;
$params{'template'} = $template if $template;
$params{$_} = $opt{$_}
- foreach grep $opt{$_}, qw( unsque
a
lch_cdr notice_name );
+ foreach grep $opt{$_}, qw( unsquelch_cdr notice_name );
$template ||= $self->_agent_template;
$template ||= $self->_agent_template;
@@
-3951,6
+3951,8
@@
sub _items_extra_usage_sections {
my %classnums = ();
my %lines = ();
my %classnums = ();
my %lines = ();
+ my $maxlength = $conf->config('cust_bill-latex_lineitem_maxlength') || 50;
+
my %usage_class = map { $_->classnum => $_ } qsearch( 'usage_class', {} );
foreach my $cust_bill_pkg ( $self->cust_bill_pkg ) {
next unless $cust_bill_pkg->pkgnum > 0;
my %usage_class = map { $_->classnum => $_ } qsearch( 'usage_class', {} );
foreach my $cust_bill_pkg ( $self->cust_bill_pkg ) {
next unless $cust_bill_pkg->pkgnum > 0;
@@
-3970,8
+3972,8
@@
sub _items_extra_usage_sections {
my $desc = $detail->regionname;
my $description = $desc;
my $desc = $detail->regionname;
my $description = $desc;
- $description = substr($desc, 0,
50
). '...'
- if $format eq 'latex' && length($desc) >
50
;
+ $description = substr($desc, 0,
$maxlength
). '...'
+ if $format eq 'latex' && length($desc) >
$maxlength
;
$lines{$section}{$desc} ||= {
description => &{$escape}($description),
$lines{$section}{$desc} ||= {
description => &{$escape}($description),
@@
-4115,6
+4117,8
@@
sub _items_svc_phone_sections {
my %classnums = ();
my %lines = ();
my %classnums = ();
my %lines = ();
+ my $maxlength = $conf->config('cust_bill-latex_lineitem_maxlength') || 50;
+
my %usage_class = map { $_->classnum => $_ } qsearch( 'usage_class', {} );
$usage_class{''} ||= new FS::usage_class { 'classname' => '', 'weight' => 0 };
my %usage_class = map { $_->classnum => $_ } qsearch( 'usage_class', {} );
$usage_class{''} ||= new FS::usage_class { 'classname' => '', 'weight' => 0 };
@@
-4144,8
+4148,8
@@
sub _items_svc_phone_sections {
my $desc = $detail->regionname;
my $description = $desc;
my $desc = $detail->regionname;
my $description = $desc;
- $description = substr($desc, 0,
50
). '...'
- if $format eq 'latex' && length($desc) >
50
;
+ $description = substr($desc, 0,
$maxlength
). '...'
+ if $format eq 'latex' && length($desc) >
$maxlength
;
$lines{$phonenum}{$desc} ||= {
description => &{$escape}($description),
$lines{$phonenum}{$desc} ||= {
description => &{$escape}($description),
@@
-4457,6
+4461,8
@@
sub _items_cust_bill_pkg {
my $multisection = $opt{multisection} || '';
my $discount_show_always = 0;
my $multisection = $opt{multisection} || '';
my $discount_show_always = 0;
+ my $maxlength = $conf->config('cust_bill-latex_lineitem_maxlength') || 50;
+
my @b = ();
my ($s, $r, $u) = ( undef, undef, undef );
foreach my $cust_bill_pkg ( @$cust_bill_pkgs )
my @b = ();
my ($s, $r, $u) = ( undef, undef, undef );
foreach my $cust_bill_pkg ( @$cust_bill_pkgs )
@@
-4482,8
+4488,8
@@
sub _items_cust_bill_pkg {
my $type = $display->type;
my $desc = $cust_bill_pkg->desc;
my $type = $display->type;
my $desc = $cust_bill_pkg->desc;
- $desc = substr($desc, 0,
50
). '...'
- if $format eq 'latex' && length($desc) >
50
;
+ $desc = substr($desc, 0,
$maxlength
). '...'
+ if $format eq 'latex' && length($desc) >
$maxlength
;
my %details_opt = ( 'format' => $format,
'escape_function' => $escape_function,
my %details_opt = ( 'format' => $format,
'escape_function' => $escape_function,
@@
-4497,13
+4503,21
@@
sub _items_cust_bill_pkg {
my $cust_pkg = $cust_bill_pkg->cust_pkg;
my $cust_pkg = $cust_bill_pkg->cust_pkg;
- if ( $cust_bill_pkg->setup != 0 && (!$type || $type eq 'S') ) {
+ if ( (!$type || $type eq 'S')
+ && ( $cust_bill_pkg->setup != 0
+ || $cust_bill_pkg->setup_show_zero
+ )
+ )
+ {
warn "$me _items_cust_bill_pkg adding setup\n"
if $DEBUG > 1;
my $description = $desc;
warn "$me _items_cust_bill_pkg adding setup\n"
if $DEBUG > 1;
my $description = $desc;
- $description .= ' Setup' if $cust_bill_pkg->recur != 0;
+ $description .= ' Setup'
+ if $cust_bill_pkg->recur != 0
+ || $discount_show_always
+ || $cust_bill_pkg->recur_show_zero;
my @d = ();
unless ( $cust_pkg->part_pkg->hide_svc_detail
my @d = ();
unless ( $cust_pkg->part_pkg->hide_svc_detail
@@
-4516,8
+4530,8
@@
sub _items_cust_bill_pkg {
if ( $multilocation ) {
my $loc = $cust_pkg->location_label;
if ( $multilocation ) {
my $loc = $cust_pkg->location_label;
- $loc = substr($loc, 0,
50
). '...'
- if $format eq 'latex' && length($loc) >
50
;
+ $loc = substr($loc, 0,
$maxlength
). '...'
+ if $format eq 'latex' && length($loc) >
$maxlength
;
push @d, &{$escape_function}($loc);
}
push @d, &{$escape_function}($loc);
}
@@
-4532,6
+4546,7
@@
sub _items_cust_bill_pkg {
push @{ $s->{ext_description} }, @d;
} else {
$s = {
push @{ $s->{ext_description} }, @d;
} else {
$s = {
+ _is_setup => 1,
description => $description,
#pkgpart => $part_pkg->pkgpart,
pkgnum => $cust_bill_pkg->pkgnum,
description => $description,
#pkgpart => $part_pkg->pkgpart,
pkgnum => $cust_bill_pkg->pkgnum,
@@
-4596,8
+4611,8
@@
sub _items_cust_bill_pkg {
if ( $multilocation ) {
my $loc = $cust_pkg->location_label;
if ( $multilocation ) {
my $loc = $cust_pkg->location_label;
- $loc = substr($loc, 0,
50
). '...'
- if $format eq 'latex' && length($loc) >
50
;
+ $loc = substr($loc, 0,
$maxlength
). '...'
+ if $format eq 'latex' && length($loc) >
$maxlength
;
push @d, &{$escape_function}($loc);
}
push @d, &{$escape_function}($loc);
}
@@
-4708,7
+4723,9
@@
sub _items_cust_bill_pkg {
push @b, { %$_ }
if $_->{amount} != 0
|| $discount_show_always
push @b, { %$_ }
if $_->{amount} != 0
|| $discount_show_always
- || $cust_bill_pkg->recur_show_zero;
+ || ( ! $_->{_is_setup} && $cust_bill_pkg->recur_show_zero )
+ || ( $_->{_is_setup} && $cust_bill_pkg->setup_show_zero )
+ ;
$_ = undef;
}
}
$_ = undef;
}
}
@@
-5065,6
+5082,11
@@
sub search_sql_where {
push @search, "cust_main.agentnum = $1";
}
push @search, "cust_main.agentnum = $1";
}
+ #agentnum
+ if ( $param->{'custnum'} =~ /^(\d+)$/ ) {
+ push @search, "cust_bill.custnum = $1";
+ }
+
#_date
if ( $param->{_date} ) {
my($beginning, $ending) = @{$param->{_date}};
#_date
if ( $param->{_date} ) {
my($beginning, $ending) = @{$param->{_date}};