X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2Fusage_class.pm;h=b64d26ac4198c9bf3038c15aed43d8987377a8b8;hb=7b125e587a4d1ee0aca692e23ea7897f671855ae;hp=7b73c611f8896039a40b63939e545a56047db080;hpb=995a145c931164347683071c95c6754379d36604;p=freeside.git 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 = '">'; $suffix = ''; @@ -296,21 +244,16 @@ sub description_generator { sub { my ($d,$a,$s,$w) = @_; return qq!$d!; }; - $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') {