service refactor!
[freeside.git] / FS / FS / svc_www.pm
index 6c276a1..066719b 100644 (file)
@@ -72,8 +72,33 @@ points to.  You can ask the object for a copy with the I<hash> method.
 
 =cut
 
+sub table_info {
+  {
+    'name' => 'Hosting',
+    'name_plural' => 'Virtual hosting services',
+    'display_weight' => 40,
+    'cancel_weight'  => 20,
+    'fields' => {
+    },
+  };
+};
+
 sub table { 'svc_www'; }
 
+=item label [ END_TIMESTAMP [ START_TIMESTAMP ] ]
+
+Returns the zone name for this virtual host.
+
+END_TIMESTAMP and START_TIMESTAMP can optionally be passed when dealing with
+history records.
+
+=cut
+
+sub label {
+  my $self = shift;
+  $self->domain_record(@_)->zone;
+}
+
 =item insert [ , OPTION => VALUE ... ]
 
 Adds this record to the database.  If there is an error, returns the error,
@@ -190,7 +215,7 @@ Called by the cancel method of FS::cust_pkg (see L<FS::cust_pkg>).
 
 Checks all fields to make sure this is a valid web virtual host.  If there is
 an error, returns the error, otherwise returns false.  Called by the insert
-and repalce methods.
+and replace methods.
 
 =cut
 
@@ -204,7 +229,7 @@ sub check {
   my $error =
     $self->ut_numbern('svcnum')
 #    || $self->ut_number('recnum')
-    || $self->ut_number('usersvc')
+    || $self->ut_numbern('usersvc')
   ;
   return $error if $error;
 
@@ -238,8 +263,10 @@ sub check {
     return "Illegal recnum: ". $self->recnum;
   }
 
-  return "Unknown usersvc (svc_acct.svcnum): ". $self->usersvc
-    unless qsearchs('svc_acct', { 'svcnum' => $self->usersvc } );
+  if ( $self->usersvc ) {
+    return "Unknown usersvc0 (svc_acct.svcnum): ". $self->usersvc
+      unless qsearchs('svc_acct', { 'svcnum' => $self->usersvc } );
+  }
 
   $self->SUPER::check;