From 252791a3e4a3cfdfef60e7278e06d899884f85a5 Mon Sep 17 00:00:00 2001 From: jeff Date: Mon, 28 Jun 2010 04:11:47 +0000 Subject: [PATCH] add some dollar signs RT8704 --- FS/FS/cust_bill.pm | 20 +++++++++++++++----- FS/FS/usage_class.pm | 26 ++++++++++++++++++++------ 2 files changed, 35 insertions(+), 11 deletions(-) diff --git a/FS/FS/cust_bill.pm b/FS/FS/cust_bill.pm index 56099ccf7..4bd9aa16a 100644 --- a/FS/FS/cust_bill.pm +++ b/FS/FS/cust_bill.pm @@ -3397,7 +3397,9 @@ my %condensed_format = ( 'fields' => [ sub { shift->{description} }, sub { shift->{quantity} }, - sub { shift->{amount} }, + sub { my($href, %opt) = @_; + ($opt{dollar} || ''). $href->{amount}; + }, ], 'align' => [ qw( l r r ) ], 'span' => [ qw( 5 1 1 ) ], # unitprices? @@ -3471,6 +3473,7 @@ sub _condensed_description_generator { my ( $f, $prefix, $suffix, $separator, $column ) = _condensed_generator_defaults($format); + my $money_char = '$'; if ($format eq 'latex') { $prefix = "\\hline\n\\multicolumn{1}{c}{\\rule{0pt}{2.5ex}~} &\n"; $suffix = '\\\\'; @@ -3479,6 +3482,7 @@ sub _condensed_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 = ''; @@ -3487,16 +3491,22 @@ sub _condensed_description_generator { sub { my ($d,$a,$s,$w) = @_; return qq!$d!; }; + #$money_char = $conf->config('money_char') || '$'; + $money_char = ''; # this is madness } sub { - my @args = @_; + #my @args = @_; + my $href = shift; my @result = (); foreach (my $i = 0; $f->{label}->[$i]; $i++) { - push @result, &{$column}( &{$f->{fields}->[$i]}(@args), - map { $f->{$_}->[$i] } qw(align span width) - ); + 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) + ); } $prefix. join( $separator, @result ). $suffix; diff --git a/FS/FS/usage_class.pm b/FS/FS/usage_class.pm index 26520e579..7b73c611f 100644 --- a/FS/FS/usage_class.pm +++ b/FS/FS/usage_class.pm @@ -3,6 +3,9 @@ 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); @@ -122,7 +125,9 @@ my %summary_formats = ( sub { shift->{description} }, sub { shift->{calls} }, sub { sprintf( '%.1f', shift->{duration}/60 ) }, - sub { shift->{amount} }, + sub { my($href, %opt) = @_; + ($opt{dollar} || ''). $href->{amount}; + }, ], 'align' => [ qw( l r r r ) ], 'span' => [ qw( 4 1 1 1 ) ], # unitprices? @@ -134,7 +139,9 @@ my %summary_formats = ( 'fields' => [ sub { shift->{description} }, sub { shift->{calls} }, - sub { shift->{amount} }, + sub { my($href, %opt) = @_; + ($opt{dollar} || ''). $href->{amount}; + }, ], 'align' => [ qw( l r r ) ], 'span' => [ qw( 5 1 1 ) ], @@ -271,6 +278,7 @@ sub description_generator { my ( $f, $prefix, $suffix, $separator, $column ) = $self->_generator_defaults($format, %opt); + my $money_char = '$'; if ($format eq 'latex') { $prefix = "\\hline\n\\multicolumn{1}{c}{\\rule{0pt}{2.5ex}~} &\n"; $suffix = '\\\\'; @@ -279,6 +287,7 @@ 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 = ''; @@ -287,16 +296,21 @@ sub description_generator { sub { my ($d,$a,$s,$w) = @_; return qq!$d!; }; + $money_char = $conf->config('money_char') || '$'; } sub { - my @args = @_; + #my @args = @_; + my ($href) = shift; my @result = (); foreach (my $i = 0; $f->{label}->[$i]; $i++) { - push @result, &{$column}( &{$f->{fields}->[$i]}(@args), - map { $f->{$_}->[$i] } qw(align span width) - ); + 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) + ); } $prefix. join( $separator, @result ). $suffix; -- 2.11.0