Virtual field merge
[freeside.git] / FS / FS / cust_svc.pm
index 5117eff..7aa311b 100644 (file)
@@ -1,7 +1,7 @@
 package FS::cust_svc;
 
 use strict;
-use vars qw( @ISA );
+use vars qw( @ISA $ignore_quantity );
 use Carp qw( cluck );
 use FS::Record qw( qsearch qsearchs dbh );
 use FS::cust_pkg;
@@ -11,11 +11,14 @@ use FS::pkg_svc;
 use FS::svc_acct;
 use FS::svc_domain;
 use FS::svc_forward;
+use FS::svc_broadband;
 use FS::domain_record;
 use FS::part_export;
 
 @ISA = qw( FS::Record );
 
+$ignore_quantity = 0;
+
 sub _cache {
   my $self = shift;
   my ( $hashref, $cache ) = @_;
@@ -228,10 +231,10 @@ sub check {
     });
     return "Already ". scalar(@cust_svc). " ". $part_svc->svc.
            " services for pkgnum ". $self->pkgnum
-      if scalar(@cust_svc) >= $quantity;
+      if scalar(@cust_svc) >= $quantity && (!$ignore_quantity || !$quantity);
   }
 
-  ''; #no error
+  $self->SUPER::check;
 }
 
 =item part_svc
@@ -290,7 +293,7 @@ sub label {
     $tag = $svc_x->getfield('domain');
   } elsif ( $svcdb eq 'svc_www' ) {
     my $domain = qsearchs( 'domain_record', { 'recnum' => $svc_x->recnum } );
-    $tag = $domain->reczone;
+    $tag = $domain->zone;
   } elsif ( $svcdb eq 'svc_broadband' ) {
     $tag = $svc_x->ip_addr;
   } else {