X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2Fpart_pkg%2Ftorrus_Common.pm;h=b32deab04d43fab2edbfca6fbb940f44b7be578f;hb=dc83512c36dc6bea2585abada4f88d714c600e55;hp=c8915ce4c7e0365803644c0e643a7e257d1b8bc3;hpb=b8aee5aec07186d681075de466ed204d2d0246b2;p=freeside.git diff --git a/FS/FS/part_pkg/torrus_Common.pm b/FS/FS/part_pkg/torrus_Common.pm index c8915ce4c..b32deab04 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 ) = @_; @@ -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;