projects
/
freeside.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
26cd0bc
)
allow non-integer minutes in CDR usage pools, #5738, see also #28308
author
Mark Wells
<mark@freeside.biz>
Fri, 16 May 2014 02:16:11 +0000
(19:16 -0700)
committer
Mark Wells
<mark@freeside.biz>
Fri, 16 May 2014 02:16:17 +0000
(19:16 -0700)
FS/FS/ClientAPI/MyAccount.pm
patch
|
blob
|
history
FS/FS/Schema.pm
patch
|
blob
|
history
FS/FS/cdr_cust_pkg_usage.pm
patch
|
blob
|
history
FS/FS/cust_pkg.pm
patch
|
blob
|
history
FS/FS/cust_pkg_usage.pm
patch
|
blob
|
history
FS/FS/part_pkg_usage.pm
patch
|
blob
|
history
httemplate/view/cust_main/packages/package.html
patch
|
blob
|
history
diff --git
a/FS/FS/ClientAPI/MyAccount.pm
b/FS/FS/ClientAPI/MyAccount.pm
index
47f3bd8
..
ad1f72f
100644
(file)
--- a/
FS/FS/ClientAPI/MyAccount.pm
+++ b/
FS/FS/ClientAPI/MyAccount.pm
@@
-1720,7
+1720,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 ];
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
}
$row->[2] += $part->minutes; # minutes total
}
diff --git
a/FS/FS/Schema.pm
b/FS/FS/Schema.pm
index
9f30f80
..
360a382
100644
(file)
--- a/
FS/FS/Schema.pm
+++ b/
FS/FS/Schema.pm
@@
-1944,7
+1944,7
@@
sub tables_hashref {
'columns' => [
'pkgusagenum', 'serial', '', '', '', '',
'pkgnum', 'int', '', '', '', '',
'columns' => [
'pkgusagenum', 'serial', '', '', '', '',
'pkgnum', 'int', '', '', '', '',
- 'minutes', '
int
', '', '', '', '',
+ 'minutes', '
double precision
', '', '', '', '',
'pkgusagepart', 'int', '', '', '', '',
],
'primary_key' => 'pkgusagenum',
'pkgusagepart', 'int', '', '', '', '',
],
'primary_key' => 'pkgusagenum',
@@
-1957,7
+1957,7
@@
sub tables_hashref {
'cdrusagenum', 'bigserial', '', '', '', '',
'acctid', 'bigint', '', '', '', '',
'pkgusagenum', 'int', '', '', '', '',
'cdrusagenum', 'bigserial', '', '', '', '',
'acctid', 'bigint', '', '', '', '',
'pkgusagenum', 'int', '', '', '', '',
- 'minutes', '
int
', '', '', '', '',
+ 'minutes', '
double precision
', '', '', '', '',
],
'primary_key' => 'cdrusagenum',
'unique' => [],
],
'primary_key' => 'cdrusagenum',
'unique' => [],
@@
-3285,7
+3285,7
@@
sub tables_hashref {
'columns' => [
'pkgusagepart', 'serial', '', '', '', '',
'pkgpart', 'int', '', '', '', '',
'columns' => [
'pkgusagepart', 'serial', '', '', '', '',
'pkgpart', 'int', '', '', '', '',
- 'minutes', '
int
', '', '', '', '',
+ 'minutes', '
double precision
', '', '', '', '',
'priority', 'int', 'NULL', '', '', '',
'shared', 'char', 'NULL', 1, '', '',
'rollover', 'char', 'NULL', 1, '', '',
'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
6ef7f2d
..
8fa378f
100644
(file)
--- a/
FS/FS/cdr_cust_pkg_usage.pm
+++ b/
FS/FS/cdr_cust_pkg_usage.pm
@@
-87,7
+87,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_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;
;
return $error if $error;
diff --git
a/FS/FS/cust_pkg.pm
b/FS/FS/cust_pkg.pm
index
2a41bb6
..
a1f2cb1
100644
(file)
--- a/
FS/FS/cust_pkg.pm
+++ b/
FS/FS/cust_pkg.pm
@@
-4052,7
+4052,7
@@
sub apply_usage {
minutes => min($cust_pkg_usage->minutes, $minutes),
});
$cust_pkg_usage->set('minutes',
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;
);
$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
0eefd74
..
10fc2e9
100644
(file)
--- a/
FS/FS/cust_pkg_usage.pm
+++ b/
FS/FS/cust_pkg_usage.pm
@@
-119,7
+119,7
@@
sub check {
my $error =
$self->ut_numbern('pkgusagenum')
|| $self->ut_foreign_key('pkgnum', 'cust_pkg', 'pkgnum')
my $error =
$self->ut_numbern('pkgusagenum')
|| $self->ut_foreign_key('pkgnum', 'cust_pkg', 'pkgnum')
- || $self->ut_
number
n('minutes')
+ || $self->ut_
float
n('minutes')
|| $self->ut_foreign_key('pkgusagepart', 'part_pkg_usage', 'pkgusagepart')
;
return $error if $error;
|| $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
99014d3
..
5e6bcf4
100644
(file)
--- a/
FS/FS/part_pkg_usage.pm
+++ b/
FS/FS/part_pkg_usage.pm
@@
-117,7
+117,7
@@
sub check {
my $error =
$self->ut_numbern('pkgusagepart')
|| $self->ut_foreign_key('pkgpart', 'part_pkg', 'pkgpart')
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')
|| $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
078402b
..
bc619f8
100644
(file)
--- a/
httemplate/view/cust_main/packages/package.html
+++ b/
httemplate/view/cust_main/packages/package.html
@@
-283,7
+283,7
@@
% $trstyle = ' CLASS="shared"' if $part->shared;
<TR<%$trstyle%>>
<TD ALIGN="right"><% $part->description %>: </TD>
% $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 ) {
<TD <%$color%>> / </TD>
<TD <%$color%>><% $part->minutes %></TD>
% if ( $part->shared ) {