summaryrefslogtreecommitdiff
path: root/FS/FS/usage_class.pm
diff options
context:
space:
mode:
Diffstat (limited to 'FS/FS/usage_class.pm')
-rw-r--r--FS/FS/usage_class.pm95
1 files changed, 19 insertions, 76 deletions
diff --git a/FS/FS/usage_class.pm b/FS/FS/usage_class.pm
index 7b73c611f..b64d26ac4 100644
--- a/FS/FS/usage_class.pm
+++ b/FS/FS/usage_class.pm
@@ -3,9 +3,6 @@ package FS::usage_class;
use strict;
use vars qw( @ISA );
use FS::Record qw( qsearch qsearchs );
-use FS::Conf;
-
-my $conf = new FS::Conf;
@ISA = qw(FS::Record);
@@ -125,28 +122,22 @@ my %summary_formats = (
sub { shift->{description} },
sub { shift->{calls} },
sub { sprintf( '%.1f', shift->{duration}/60 ) },
- sub { my($href, %opt) = @_;
- ($opt{dollar} || ''). $href->{amount};
- },
+ sub { shift->{amount} },
],
'align' => [ qw( l r r r ) ],
'span' => [ qw( 4 1 1 1 ) ], # unitprices?
'width' => [ qw( 8.2cm 2.5cm 1.4cm 1.6cm ) ], # don't like this
- 'show' => 1,
},
'simpler' => {
'label' => [ qw( Description Calls Amount ) ],
'fields' => [
sub { shift->{description} },
sub { shift->{calls} },
- sub { my($href, %opt) = @_;
- ($opt{dollar} || ''). $href->{amount};
- },
+ sub { shift->{amount} },
],
'align' => [ qw( l r r ) ],
'span' => [ qw( 5 1 1 ) ],
'width' => [ qw( 10.7cm 1.4cm 1.6cm ) ], # don't like this
- 'show' => 1,
},
'usage_simple' => {
'label' => [ qw( Date Time Number Destination Duration Amount ) ],
@@ -156,56 +147,16 @@ my %summary_formats = (
sub { ' ' },
sub { ' ' },
sub { ' ' },
- sub { my $href = shift; #ugh! making bunk of 'normalization'
- $href->{subtotal} ? $href->{subtotal} : ' '
- },
- ],
- 'align' => [ qw( l l l l r r ) ],
- 'span' => [ qw( 1 1 1 1 1 2 ) ], # unitprices?
- 'width' => [ qw( 4.3cm 1.4cm 2.5cm 2.5cm 1.4cm 1.6cm ) ],# don't like this
- 'show' => 0,
- },
- 'usage_6col' => {
- 'label' => [ qw( col1 col2 col3 col4 col5 col6 ) ],
- 'fields' => [
- sub { ' ' },
- sub { ' ' },
- sub { ' ' },
- sub { ' ' },
sub { ' ' },
- sub { my $href = shift; #ugh! making bunk of 'normalization'
- $href->{subtotal} ? $href->{subtotal} : ' '
- },
],
'align' => [ qw( l l l l r r ) ],
- 'span' => [ qw( 1 1 1 1 1 2 ) ], # unitprices?
+ 'span' => [ qw( 2 1 1 1 1 1 ) ], # unitprices?
'width' => [ qw( 4.3cm 1.4cm 2.5cm 2.5cm 1.4cm 1.6cm ) ],# don't like this
- 'show' => 0,
- },
- 'usage_7col' => {
- 'label' => [ qw( col1 col2 col3 col4 col5 col6 col7 ) ],
- 'fields' => [
- sub { ' ' },
- sub { ' ' },
- sub { ' ' },
- sub { ' ' },
- sub { ' ' },
- sub { ' ' },
- sub { my $href = shift; #ugh! making bunk of 'normalization'
- $href->{subtotal} ? $href->{subtotal} : ' '
- },
- ],
- 'align' => [ qw( l l l l l r r ) ],
- 'span' => [ qw( 1 1 1 1 1 1 1 ) ], # unitprices?
- 'width' => [ qw( 2.9cm 1.4cm 1.4cm 2.5cm 2.5cm 1.4cm 1.6cm ) ],# don't like this
- 'show' => 0,
},
);
sub summary_formats_labelhash {
- map { $_ => join(',', @{$summary_formats{$_}{label}}) }
- grep { $summary_formats{$_}{show} }
- keys %summary_formats;
+ map { $_ => join(',', @{$summary_formats{$_}{label}}) } keys %summary_formats;
}
=item header_generator FORMAT
@@ -222,16 +173,15 @@ my %html_align = (
);
sub _generator_defaults {
- my ( $self, $format, %opt ) = @_;
- my %format = ( %{ $summary_formats{$self->format} }, %opt );
- return ( \%format, ' ', ' ', ' ', sub { shift } );
+ my ( $self, $format ) = ( shift, shift );
+ return ( $summary_formats{$self->format}, ' ', ' ', ' ', sub { shift } );
}
sub header_generator {
- my ( $self, $format, %opt ) = @_;
+ my ( $self, $format ) = ( shift, shift );
my ( $f, $prefix, $suffix, $separator, $column ) =
- $self->_generator_defaults($format, %opt);
+ $self->_generator_defaults($format);
if ($format eq 'latex') {
$prefix = "\\hline\n\\rule{0pt}{2.5ex}\n\\makebox[1.4cm]{}&\n";
@@ -255,7 +205,7 @@ sub header_generator {
my @args = @_;
my @result = ();
- foreach (my $i = 0; exists($f->{label}->[$i]); $i++) {
+ foreach (my $i = 0; $f->{label}->[$i]; $i++) {
push @result,
&{$column}( map { $f->{$_}->[$i] } qw(label align span width) );
}
@@ -273,12 +223,11 @@ usage_class. FORMAT is either html or latex
=cut
sub description_generator {
- my ( $self, $format, %opt ) = @_;
+ my ( $self, $format ) = ( shift, shift );
my ( $f, $prefix, $suffix, $separator, $column ) =
- $self->_generator_defaults($format, %opt);
+ $self->_generator_defaults($format);
- my $money_char = '$';
if ($format eq 'latex') {
$prefix = "\\hline\n\\multicolumn{1}{c}{\\rule{0pt}{2.5ex}~} &\n";
$suffix = '\\\\';
@@ -287,7 +236,6 @@ sub description_generator {
sub { my ($d,$a,$s,$w) = @_;
return "\\multicolumn{$s}{$a}{\\makebox[$w][$a]{\\textbf{$d}}}";
};
- $money_char = '\\dollar';
}elsif ( $format eq 'html' ) {
$prefix = '"><td align="center"></td>';
$suffix = '';
@@ -296,21 +244,16 @@ sub description_generator {
sub { my ($d,$a,$s,$w) = @_;
return qq!<td align="$html_align{$a}">$d</td>!;
};
- $money_char = $conf->config('money_char') || '$';
}
sub {
- #my @args = @_;
- my ($href) = shift;
+ my @args = @_;
my @result = ();
foreach (my $i = 0; $f->{label}->[$i]; $i++) {
- my $dollar = '';
- $dollar = $money_char if $i == scalar(@{$f->{label}})-1;
- push @result,
- &{$column}( &{$f->{fields}->[$i]}($href, 'dollar' => $dollar),
- map { $f->{$_}->[$i] } qw(align span width)
- );
+ push @result, &{$column}( &{$f->{fields}->[$i]}(@args),
+ map { $f->{$_}->[$i] } qw(align span width)
+ );
}
$prefix. join( $separator, @result ). $suffix;
@@ -326,13 +269,13 @@ usage_class. FORMAT is either html or latex
=cut
sub total_generator {
- my ( $self, $format, %opt ) = @_;
+ my ( $self, $format ) = ( shift, shift );
# $OUT .= '\FStotaldesc{' . $section->{'description'} . ' Total}' .
# '{' . $section->{'subtotal'} . '}' . "\n";
my ( $f, $prefix, $suffix, $separator, $column ) =
- $self->_generator_defaults($format, %opt);
+ $self->_generator_defaults($format);
my $style = '';
if ($format eq 'latex') {
@@ -385,13 +328,13 @@ usage_class. FORMAT is either html or latex
# total_item and amount vs total_amount -- another array of functions?
sub total_line_generator {
- my ( $self, $format, %opt ) = @_;
+ my ( $self, $format ) = ( shift, shift );
# $OUT .= '\FStotaldesc{' . $line->{'total_item'} . '}' .
# '{' . $line->{'total_amount'} . '}' . "\n";
my ( $f, $prefix, $suffix, $separator, $column ) =
- $self->_generator_defaults($format, %opt);
+ $self->_generator_defaults($format);
my $style = '';
if ($format eq 'latex') {