diff options
| author | jeff <jeff> | 2008-02-13 23:39:11 +0000 | 
|---|---|---|
| committer | jeff <jeff> | 2008-02-13 23:39:11 +0000 | 
| commit | fc6c22c40f3b5362f46eb3ad4739580351bb4076 (patch) | |
| tree | 9de22c6790864fbf19973a95789f348db2e569b3 | |
| parent | 0a498297d97b43e275d395caa06a2e58279d69d6 (diff) | |
directory assistance (flat per-call) billing RT#3114
| -rw-r--r-- | FS/FS/part_pkg/voip_cdr.pm | 8 | ||||
| -rw-r--r-- | FS/FS/rate_detail.pm | 2 | ||||
| -rw-r--r-- | httemplate/edit/rate_region.cgi | 9 | 
3 files changed, 12 insertions, 7 deletions
| diff --git a/FS/FS/part_pkg/voip_cdr.pm b/FS/FS/part_pkg/voip_cdr.pm index 2341fd020..7cf177972 100644 --- a/FS/FS/part_pkg/voip_cdr.pm +++ b/FS/FS/part_pkg/voip_cdr.pm @@ -261,9 +261,13 @@ sub calc_recur {            my $granularity = $rate_detail->sec_granularity;            my $seconds = $cdr->billsec; # |ength($cdr->billsec) ? $cdr->billsec : $cdr->duration; -          $seconds += $granularity - ( $seconds % $granularity ); +          $seconds += $granularity - ( $seconds % $granularity ) +            if $granularity; # 0 is per call            my $minutes = sprintf("%.1f", $seconds / 60);            $minutes =~ s/\.0$// if $granularity == 60; + +          # per call rather than per minute +          $minutes = 1 unless $granularity;            $included_min{$regionnum} -= $minutes; @@ -280,7 +284,7 @@ sub calc_recur {            @call_details = (              #time2str("%Y %b %d - %r", $cdr->calldate_unix ),              time2str("%c", $cdr->calldate_unix),  #XXX this should probably be a config option dropdown so they can select US vs- rest of world dates or whatnot -            $minutes.'m', +            $granularity ? $minutes.'m' : $minutes.' call',              '$'.$charge,              $pretty_destnum,              $rate_region->regionname, diff --git a/FS/FS/rate_detail.pm b/FS/FS/rate_detail.pm index 7f8c89eba..ad41b40ec 100644 --- a/FS/FS/rate_detail.pm +++ b/FS/FS/rate_detail.pm @@ -46,7 +46,7 @@ inherits from FS::Record.  The following fields are currently supported:  =item min_charge - charge per minute -=item sec_granularity - granularity in seconds, i.e. 6 or 60 +=item sec_granularity - granularity in seconds, i.e. 6 or 60; 0 for per-call  =back diff --git a/httemplate/edit/rate_region.cgi b/httemplate/edit/rate_region.cgi index 9dfcb3740..04f285f37 100644 --- a/httemplate/edit/rate_region.cgi +++ b/httemplate/edit/rate_region.cgi @@ -49,10 +49,10 @@        Rate plan      </TH>      <TH CLASS="grid" BGCOLOR="#cccccc"> -      <FONT SIZE=-1>Included<BR>minutes</FONT> +      <FONT SIZE=-1>Included<BR>minutes/calls</FONT>      </TH>      <TH CLASS="grid" BGCOLOR="#cccccc"> -      <FONT SIZE=-1>Charge per<BR>minute</FONT> +      <FONT SIZE=-1>Charge per<BR>minute/call</FONT>      </TH>      <TH CLASS="grid" BGCOLOR="#cccccc">        <FONT SIZE=-1>Granularity</FONT> @@ -81,11 +81,11 @@      </TD>      <TD CLASS="grid" BGCOLOR="<% $bgcolor %>"> -      <INPUT TYPE="text" SIZE=5 NAME="min_included<%$n%>" VALUE="<% $cgi->param("min_included$n") || $rate_detail->min_included |h %>"> +      <INPUT TYPE="text" SIZE=9 NAME="min_included<%$n%>" VALUE="<% $cgi->param("min_included$n") || $rate_detail->min_included |h %>">      </TD>      <TD CLASS="grid" BGCOLOR="<% $bgcolor %>"> -      $<INPUT TYPE="text" SIZE=4 NAME="min_charge<%$n%>" VALUE="<% sprintf('%.2f', $cgi->param("min_charge$n") || $rate_detail->min_charge ) %>"> +      $<INPUT TYPE="text" SIZE=6 NAME="min_charge<%$n%>" VALUE="<% sprintf('%.2f', $cgi->param("min_charge$n") || $rate_detail->min_charge ) %>">      </TD>      <TD CLASS="grid" BGCOLOR="<% $bgcolor %>"> @@ -137,6 +137,7 @@ tie my %granularity, 'Tie::IxHash',    '6'  => '6 second',    '30' => '30 second', # '1/2 minute',    '60' => 'minute', +  '0'  => 'call',  ;  my @rate_prefix = $rate_region->rate_prefix; | 
