X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2Fcust_pkg.pm;h=b2ef2a2599d4690e9550872c9857d3a166ec3f9c;hb=1d15d22917b9e91fbb9b5a195f94bf3b71fe304a;hp=c9b454c5190d13db303bf059e4dae41e2ecb6c1b;hpb=56be01c046fe4aad7f9a9aacc41b509483cc05f1;p=freeside.git diff --git a/FS/FS/cust_pkg.pm b/FS/FS/cust_pkg.pm index c9b454c51..b2ef2a259 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 ); @@ -692,7 +693,7 @@ sub last_reason { my $cust_pkg_reason = qsearchs( { 'table' => 'cust_pkg_reason', 'hashref' => { 'pkgnum' => $self->pkgnum, }, - 'extra_sql'=> 'ORDER BY date DESC', + 'extra_sql'=> 'ORDER BY date DESC LIMIT 1', } ); qsearchs ( 'reason', { 'reasonnum' => $cust_pkg_reason->reasonnum } ) if $cust_pkg_reason; @@ -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;