projects
/
freeside.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
bundled package presentation improvements
[freeside.git]
/
FS
/
FS
/
cust_bill.pm
diff --git
a/FS/FS/cust_bill.pm
b/FS/FS/cust_bill.pm
index
7b05cad
..
96c1db7
100644
(file)
--- a/
FS/FS/cust_bill.pm
+++ b/
FS/FS/cust_bill.pm
@@
-226,7
+226,12
@@
Returns the line items (see L<FS::cust_bill_pkg>) for this invoice.
sub cust_bill_pkg {
my $self = shift;
sub cust_bill_pkg {
my $self = shift;
- qsearch( 'cust_bill_pkg', { 'invnum' => $self->invnum } );
+ qsearch(
+ { 'table' => 'cust_bill_pkg',
+ 'hashref' => { 'invnum' => $self->invnum },
+ 'order_by' => 'ORDER BY billpkgnum',
+ }
+ );
}
=item cust_pkg
}
=item cust_pkg
@@
-557,19
+562,27
@@
sub apply_payments_and_credits {
}
}
-=item generate_email
PARAMHASH
+=item generate_email
OPTION => VALUE ...
-
PARAMHASH can contain the following
:
+
Options
:
=over 4
=over 4
-=item from => sender address, required
+=item from
+
+sender address, required
+
+=item tempate
-
=item tempate =>
alternate template name, optional
+alternate template name, optional
-=item print_text
=> text attachment arrayref, optional
+=item print_text
-=item subject => email subject, optional
+text attachment arrayref, optional
+
+=item subject
+
+email subject, optional
=back
=back
@@
-1618,6
+1631,8
@@
L<Time::Local> and L<Date::Parse> for conversion functions.
cid -
cid -
+unsquelch_cdr - overrides any per customer cdr squelching when true
+
=cut
sub print_generic {
=cut
sub print_generic {
@@
-2041,6
+2056,8
@@
sub print_generic {
$options{'section'} = $section if $multisection;
$options{'format'} = $format;
$options{'escape_function'} = $escape_function;
$options{'section'} = $section if $multisection;
$options{'format'} = $format;
$options{'escape_function'} = $escape_function;
+ $options{'format_function'} = sub { () }
+ unless $params{unsquelch_cdr} || $cust_main->squelch_cdr ne 'Y';
foreach my $line_item ( $self->_items_pkg(%options) ) {
my $detail = {
foreach my $line_item ( $self->_items_pkg(%options) ) {
my $detail = {
@@
-2148,8
+2165,8
@@
sub print_generic {
)
);
if ( $multisection ) {
)
);
if ( $multisection ) {
- $adjust_section->{'pretotal'} = 'New charges total '.
-
$total->{'total_amount'}
;
+ $adjust_section->{'pretotal'} = 'New charges total '.
$other_money_char.
+
sprintf('%.2f', $self->charged )
;
}else{
push @total_items, $total;
}
}else{
push @total_items, $total;
}
@@
-2625,6
+2642,7
@@
sub _items_cust_bill_pkg {
my $format = $opt{format} || '';
my $escape_function = $opt{escape_function} || sub { shift };
my $format = $opt{format} || '';
my $escape_function = $opt{escape_function} || sub { shift };
+ my $format_function = $opt{format_function} || '';
my @b = ();
foreach my $cust_bill_pkg ( @$cust_bill_pkg ) {
my @b = ();
foreach my $cust_bill_pkg ( @$cust_bill_pkg ) {
@@
-2635,6
+2653,7
@@
sub _items_cust_bill_pkg {
my %details_opt = ( 'format' => $format,
'escape_function' => $escape_function,
my %details_opt = ( 'format' => $format,
'escape_function' => $escape_function,
+ 'format_function' => $format_function,
);
if ( $cust_bill_pkg->pkgnum > 0 ) {
);
if ( $cust_bill_pkg->pkgnum > 0 ) {
@@
-2664,8
+2683,8
@@
sub _items_cust_bill_pkg {
my $description = $desc;
unless ( $conf->exists('disable_line_item_date_ranges') ) {
my $description = $desc;
unless ( $conf->exists('disable_line_item_date_ranges') ) {
- $desc .= " (" . time2str("%x", $cust_bill_pkg->sdate).
- " - ". time2str("%x", $cust_bill_pkg->edate). ")";
+ $desc
ription
.= " (" . time2str("%x", $cust_bill_pkg->sdate).
+
" - ". time2str("%x", $cust_bill_pkg->edate). ")";
}
#at least until cust_bill_pkg has "past" ranges in addition to
}
#at least until cust_bill_pkg has "past" ranges in addition to
@@
-2674,6
+2693,7
@@
sub _items_cust_bill_pkg {
$cust_pkg->h_labels_short($self->_date);
#$cust_bill_pkg->edate,
#$cust_bill_pkg->sdate),
$cust_pkg->h_labels_short($self->_date);
#$cust_bill_pkg->edate,
#$cust_bill_pkg->sdate),
+ @d = () if $cust_bill_pkg->itemdesc;
push @d, $cust_bill_pkg->details(%details_opt);
push @b, {
push @d, $cust_bill_pkg->details(%details_opt);
push @b, {