[freeside-commits] branch master updated. 726ceca7c0810b7f9c1e888a7880fd1dfb749c2e
Mark Wells
mark at 420.am
Thu May 15 19:22:29 PDT 2014
The branch, master has been updated
via 726ceca7c0810b7f9c1e888a7880fd1dfb749c2e (commit)
from cd5882bb376d0e46f97d760072311b912f921e26 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 726ceca7c0810b7f9c1e888a7880fd1dfb749c2e
Author: Mark Wells <mark at freeside.biz>
Date: Thu May 15 19:16:43 2014 -0700
allow non-integer minutes in CDR usage pools, #5738, see also #28308
diff --git a/FS/FS/ClientAPI/MyAccount.pm b/FS/FS/ClientAPI/MyAccount.pm
index e5078f9..6619eb1 100644
--- a/FS/FS/ClientAPI/MyAccount.pm
+++ b/FS/FS/ClientAPI/MyAccount.pm
@@ -1724,7 +1724,7 @@ sub list_svcs {
my $tag = $part->description . ($part->shared ? 1 : 0);
my $row = $usage_pools{$tag}
||= [ $part->description, 0, 0, $part->shared ? 1 : 0 ];
- $row->[1] += $_->minutes; # minutes remaining
+ $row->[1] += sprintf('%.1f', $_->minutes); # minutes remaining
$row->[2] += $part->minutes; # minutes total
}
diff --git a/FS/FS/Schema.pm b/FS/FS/Schema.pm
index 416587d..12064af 100644
--- a/FS/FS/Schema.pm
+++ b/FS/FS/Schema.pm
@@ -2735,7 +2735,7 @@ sub tables_hashref {
'columns' => [
'pkgusagenum', 'serial', '', '', '', '',
'pkgnum', 'int', '', '', '', '',
- 'minutes', 'int', '', '', '', '',
+ 'minutes', 'double precision', '', '', '', '',
'pkgusagepart', 'int', '', '', '', '',
],
'primary_key' => 'pkgusagenum',
@@ -2756,7 +2756,7 @@ sub tables_hashref {
'cdrusagenum', 'bigserial', '', '', '', '',
'acctid', 'bigint', '', '', '', '',
'pkgusagenum', 'int', '', '', '', '',
- 'minutes', 'int', '', '', '', '',
+ 'minutes', 'double precision', '', '', '', '',
],
'primary_key' => 'cdrusagenum',
'unique' => [],
@@ -4713,7 +4713,7 @@ sub tables_hashref {
'columns' => [
'pkgusagepart', 'serial', '', '', '', '',
'pkgpart', 'int', '', '', '', '',
- 'minutes', 'int', '', '', '', '',
+ 'minutes', 'double precision', '', '', '', '',
'priority', 'int', 'NULL', '', '', '',
'shared', 'char', 'NULL', 1, '', '',
'rollover', 'char', 'NULL', 1, '', '',
diff --git a/FS/FS/cdr_cust_pkg_usage.pm b/FS/FS/cdr_cust_pkg_usage.pm
index 7de8764..5d68d66 100644
--- a/FS/FS/cdr_cust_pkg_usage.pm
+++ b/FS/FS/cdr_cust_pkg_usage.pm
@@ -86,7 +86,7 @@ sub check {
$self->ut_numbern('cdrusagenum')
|| $self->ut_foreign_key('acctid', 'cdr', 'acctid')
|| $self->ut_foreign_key('pkgusagenum', 'cust_pkg_usage', 'pkgusagenum')
- || $self->ut_number('minutes')
+ || $self->ut_float('minutes')
;
return $error if $error;
diff --git a/FS/FS/cust_pkg.pm b/FS/FS/cust_pkg.pm
index b1cdf45..cabecd6 100644
--- a/FS/FS/cust_pkg.pm
+++ b/FS/FS/cust_pkg.pm
@@ -4015,7 +4015,7 @@ sub apply_usage {
minutes => min($cust_pkg_usage->minutes, $minutes),
});
$cust_pkg_usage->set('minutes',
- sprintf('%.0f', $cust_pkg_usage->minutes - $cdr_cust_pkg_usage->minutes)
+ $cust_pkg_usage->minutes - $cdr_cust_pkg_usage->minutes
);
$error = $cust_pkg_usage->replace || $cdr_cust_pkg_usage->insert;
$minutes -= $cdr_cust_pkg_usage->minutes;
diff --git a/FS/FS/cust_pkg_usage.pm b/FS/FS/cust_pkg_usage.pm
index d295842..84ba66e 100644
--- a/FS/FS/cust_pkg_usage.pm
+++ b/FS/FS/cust_pkg_usage.pm
@@ -117,7 +117,7 @@ sub check {
my $error =
$self->ut_numbern('pkgusagenum')
|| $self->ut_foreign_key('pkgnum', 'cust_pkg', 'pkgnum')
- || $self->ut_numbern('minutes')
+ || $self->ut_floatn('minutes')
|| $self->ut_foreign_key('pkgusagepart', 'part_pkg_usage', 'pkgusagepart')
;
return $error if $error;
diff --git a/FS/FS/part_pkg_usage.pm b/FS/FS/part_pkg_usage.pm
index 008a2a9..b19c63d 100644
--- a/FS/FS/part_pkg_usage.pm
+++ b/FS/FS/part_pkg_usage.pm
@@ -116,7 +116,7 @@ sub check {
my $error =
$self->ut_numbern('pkgusagepart')
|| $self->ut_foreign_key('pkgpart', 'part_pkg', 'pkgpart')
- || $self->ut_number('minutes')
+ || $self->ut_float('minutes')
|| $self->ut_numbern('priority')
|| $self->ut_flag('shared')
|| $self->ut_flag('rollover')
diff --git a/httemplate/view/cust_main/packages/package.html b/httemplate/view/cust_main/packages/package.html
index d83bab4..9f6169c 100644
--- a/httemplate/view/cust_main/packages/package.html
+++ b/httemplate/view/cust_main/packages/package.html
@@ -277,7 +277,7 @@
% $trstyle = ' CLASS="shared"' if $part->shared;
<TR<%$trstyle%>>
<TD ALIGN="right"><% $part->description %>: </TD>
- <TD <%$color%> ALIGN="right"><% $usage->minutes %></TD>
+ <TD <%$color%> ALIGN="right"><% sprintf('%.1f', $usage->minutes) %></TD>
<TD <%$color%>> / </TD>
<TD <%$color%>><% $part->minutes %></TD>
% if ( $part->shared ) {
-----------------------------------------------------------------------
Summary of changes:
FS/FS/ClientAPI/MyAccount.pm | 2 +-
FS/FS/Schema.pm | 6 +++---
FS/FS/cdr_cust_pkg_usage.pm | 2 +-
FS/FS/cust_pkg.pm | 2 +-
FS/FS/cust_pkg_usage.pm | 2 +-
FS/FS/part_pkg_usage.pm | 2 +-
httemplate/view/cust_main/packages/package.html | 2 +-
7 files changed, 9 insertions(+), 9 deletions(-)
More information about the freeside-commits
mailing list