RT# 83251 - created script to update service speeds
[freeside.git] / FS / FS / svc_Common.pm
index 4fd2d0b..b67992d 100644 (file)
@@ -122,6 +122,15 @@ sub virtual_fields {
 
 =item label
 
 
 =item label
 
+Returns a label to identify a record of this service.
+Label may be displayed on freeside screens, and within customer bills.
+
+For example, $obj->label may return:
+
+ - A provisioned phone number for svc_phone
+ - The mailing list name and e-mail address for svc_mailinglist
+ - The address of a rental property svc_realestate
+
 svc_Common provides a fallback label subroutine that just returns the svcnum.
 
 =cut
 svc_Common provides a fallback label subroutine that just returns the svcnum.
 
 =cut
@@ -477,6 +486,7 @@ passed to export commands.
 
 sub replace {
   my $new = shift;
 
 sub replace {
   my $new = shift;
+  $noexport_hack = $new->no_export if $new->no_export;
 
   my $old = ( blessed($_[0]) && $_[0]->isa('FS::Record') )
               ? shift
 
   my $old = ( blessed($_[0]) && $_[0]->isa('FS::Record') )
               ? shift
@@ -719,6 +729,8 @@ sub setx {
 sub part_svc {
   my $self = shift;
 
 sub part_svc {
   my $self = shift;
 
+  cluck 'svc_X->part_svc called' if $DEBUG;
+
   #get part_svc
   my $svcpart;
   if ( $self->get('svcpart') ) {
   #get part_svc
   my $svcpart;
   if ( $self->get('svcpart') ) {
@@ -1479,8 +1491,12 @@ sub search {
   }
 
   #svcnum
   }
 
   #svcnum
-  if ( $params->{'svcnum'} =~ /^(\d+)$/ ) {
-    push @where, "svcnum = $1";
+  if ( $params->{'svcnum'} ) {
+    my @svcnum = ref( $params->{'svcnum'} )
+                 ? @{ $params->{'svcnum'} }
+                 : $params->{'svcnum'};
+    @svcnum = grep /^\d+$/, @svcnum;
+    push @where, 'svcnum IN ('. join(',', @svcnum) . ')' if @svcnum;
   }
 
   # svcpart
   }
 
   # svcpart
@@ -1580,4 +1596,3 @@ from the base documentation.
 =cut
 
 1;
 =cut
 
 1;
-