summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorivan <ivan>2007-02-03 13:05:53 +0000
committerivan <ivan>2007-02-03 13:05:53 +0000
commit260c76262745d1a96e7533e1a8498e6a582b2c3d (patch)
tree4b274af5b6d53b8563345b7ca7716b283f44b5b0
parentb99dc26e8cc9a62b89ed6a9ace8e80a7c03b5965 (diff)
this should fix services with negative num_avail showing up for provisioning
-rw-r--r--FS/FS/cust_pkg.pm4
1 files changed, 3 insertions, 1 deletions
diff --git a/FS/FS/cust_pkg.pm b/FS/FS/cust_pkg.pm
index c9b454c51..ea959ab11 100644
--- a/FS/FS/cust_pkg.pm
+++ b/FS/FS/cust_pkg.pm
@@ -2,6 +2,7 @@ package FS::cust_pkg;
use strict;
use vars qw(@ISA $disable_agentcheck $DEBUG);
+use List::Util qw(max);
use Tie::IxHash;
use FS::UID qw( getotaker dbh );
use FS::Misc qw( send_email );
@@ -901,7 +902,8 @@ sub part_svc {
my $part_svc = $pkg_svc->part_svc;
my $num_cust_svc = $self->num_cust_svc($part_svc->svcpart);
$part_svc->{'Hash'}{'num_cust_svc'} = $num_cust_svc; #more evil
- $part_svc->{'Hash'}{'num_avail'} = $pkg_svc->quantity - $num_cust_svc;
+ $part_svc->{'Hash'}{'num_avail'} =
+ max( 0, $pkg_svc->quantity - $num_cust_svc );
$part_svc->{'Hash'}{'cust_pkg_svc'} = [ $self->cust_svc($part_svc->svcpart) ];
$part_svc;
} $self->part_pkg->pkg_svc;