X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2Fpart_pkg%2Ftorrus_Common.pm;h=d0dc9d14dac0fe95ec5fb54af3f14f31946bd506;hb=a3083358ecc9b9b7f9294847cbea30652b48d8e8;hp=672fa86fd008da376ff41f6286e671d654f598f8;hpb=f418cb9b44dbd593f03b3f83dbad71879af288af;p=freeside.git diff --git a/FS/FS/part_pkg/torrus_Common.pm b/FS/FS/part_pkg/torrus_Common.pm index 672fa86fd..d0dc9d14d 100644 --- a/FS/FS/part_pkg/torrus_Common.pm +++ b/FS/FS/part_pkg/torrus_Common.pm @@ -7,6 +7,15 @@ our %info = ( 'disabled' => 1 ); #torrus_Common not a usable price plan directly our $DEBUG = 1; +sub recur_temporality { 'preceding'; } + +sub price_info { + my $self = shift; + my $str = $self->SUPER::price_info; + $str .= " plus usage" if $str; + $str; +} + sub calc_recur { my $self = shift; my($cust_pkg, $sdate, $details, $param ) = @_; @@ -53,7 +62,7 @@ sub calc_usage { SELECT value FROM reportfields WHERE rep_id = $rep_id AND name = ? - AND servciceid = ? + AND serviceid = ? "; my $total = 0; @@ -74,14 +83,15 @@ sub calc_usage { $max -= $inc; next if $max < 0; - my $amount = sprintf('%.2f', $self->option($self->_torrus_rate) * $max ); + my $rate = $self->option($self->_torrus_rate); + my $amount = sprintf('%.2f', $rate * $max ); $total += $amount; #add usage details to invoice my $l = $self->_torrus_label; - my $d = "Last month's usage for $serviceid: $max$l"; + my $d = "Last month's usage for $serviceid: ". sprintf('%.2f',$max). $l; $d .= " (". ($max+$inc). "$l - $inc$l included)" if $inc; - $d .= ": $money_char$amount"; + $d .= " @ $money_char$rate/$l: $money_char$amount"; push @$details, $d;