VoxLineSystems are lying scum who charged back their customization work and then...
[freeside.git] / FS / FS / svc_Common.pm
index f60a7d9..313029f 100644 (file)
@@ -128,7 +128,7 @@ sub virtual_fields {
     my %flags = map { $_->columnname, $_->columnflag } (
         qsearch ('part_svc_column', { svcpart => $svcpart } )
       );
-    return grep { not ($flags{$_} eq 'X') } @vfields;
+    return grep { not ( defined($flags{$_}) && $flags{$_} eq 'X') } @vfields;
   } else { # Case 3
     return @vfields;
   } 
@@ -695,6 +695,19 @@ sub unsuspend {
   $self->export('unsuspend');
 }
 
+=item export_links
+
+Runs export_links callbacks and returns the links.
+
+=cut
+
+sub export_links {
+  my $self = shift;
+  my $return = [];
+  $self->export('links', $return);
+  $return;
+}
+
 =item export HOOK [ EXPORT_ARGS ]
 
 Runs the provided export hook (i.e. "suspend", "unsuspend") for this service.
@@ -735,6 +748,17 @@ sub export {
 
 }
 
+=item overlimit
+
+Sets or retrieves overlimit date.
+
+=cut
+
+sub overlimit {
+  my $self = shift;
+  $self->cust_svc->overlimit(@_);
+}
+
 =item cancel
 
 Stub - returns false (no error) so derived classes don't need to define this