allow empty custnum in sub check (but call that an error in sub insert),
authorivan <ivan>
Thu, 25 Mar 1999 13:48:14 +0000 (13:48 +0000)
committerivan <ivan>
Thu, 25 Mar 1999 13:48:14 +0000 (13:48 +0000)
for one-screen new customer entry

site_perl/cust_pkg.pm

index 1f5a873..31b4524 100644 (file)
@@ -97,6 +97,22 @@ sub table { 'cust_pkg'; }
 Adds this billing item to the database ("Orders" the item).  If there is an
 error, returns the error, otherwise returns false.
 
 Adds this billing item to the database ("Orders" the item).  If there is an
 error, returns the error, otherwise returns false.
 
+sub insert {
+  my $self = shift;
+
+  # custnum might not have have been defined in sub check (for one-shot new
+  # customers), so check it here instead
+
+  my $error = $self->ut_number('custnum');
+  return $error if $error
+
+  return "Unknown customer"
+    unless qsearchs( 'cust_main', { 'custnum' => $self->custnum } );
+
+  $self->SUPER::insert;
+
+}
+
 =item delete
 
 Currently unimplemented.  You don't want to delete billing items, because there
 =item delete
 
 Currently unimplemented.  You don't want to delete billing items, because there
@@ -154,7 +170,7 @@ sub check {
 
   my $error = 
     $self->ut_numbern('pkgnum')
 
   my $error = 
     $self->ut_numbern('pkgnum')
-    || $self->ut_number('custnum')
+    || $self->ut_numbern('custnum')
     || $self->ut_number('pkgpart')
     || $self->ut_numbern('setup')
     || $self->ut_numbern('bill')
     || $self->ut_number('pkgpart')
     || $self->ut_numbern('setup')
     || $self->ut_numbern('bill')
@@ -163,8 +179,10 @@ sub check {
   ;
   return $error if $error;
 
   ;
   return $error if $error;
 
-  return "Unknown customer"
-    unless qsearchs( 'cust_main', { 'custnum' => $self->custnum } );
+  if ( $self->custnum ) { 
+    return "Unknown customer"
+      unless qsearchs( 'cust_main', { 'custnum' => $self->custnum } );
+  }
 
   return "Unknown pkgpart"
     unless qsearchs( 'part_pkg', { 'pkgpart' => $self->pkgpart } );
 
   return "Unknown pkgpart"
     unless qsearchs( 'part_pkg', { 'pkgpart' => $self->pkgpart } );
@@ -477,7 +495,7 @@ sub order {
 
 =head1 VERSION
 
 
 =head1 VERSION
 
-$Id: cust_pkg.pm,v 1.7 1999-02-09 09:55:06 ivan Exp $
+$Id: cust_pkg.pm,v 1.8 1999-03-25 13:48:14 ivan Exp $
 
 =head1 BUGS
 
 
 =head1 BUGS
 
@@ -508,7 +526,11 @@ fixed for new agent->agent_type->type_pkgs in &order ivan@sisd.com 98-mar-7
 pod ivan@sisd.com 98-sep-21
 
 $Log: cust_pkg.pm,v $
 pod ivan@sisd.com 98-sep-21
 
 $Log: cust_pkg.pm,v $
-Revision 1.7  1999-02-09 09:55:06  ivan
+Revision 1.8  1999-03-25 13:48:14  ivan
+allow empty custnum in sub check (but call that an error in sub insert),
+for one-screen new customer entry
+
+Revision 1.7  1999/02/09 09:55:06  ivan
 invoices show line items for each service in a package (see the label method
 of FS::cust_svc)
 
 invoices show line items for each service in a package (see the label method
 of FS::cust_svc)