default to a session cookie instead of setting an explicit timeout, weird timezone...
[freeside.git] / FS / FS / nas.pm
index 4564a63..c7f2459 100644 (file)
@@ -50,6 +50,7 @@ FS::Record.  The following fields are currently supported:
 
 =item description - a longer descriptive name
 
+=item svcnum - the L<FS::svc_broadband> record that 'owns' this device
 
 =back
 
@@ -87,11 +88,14 @@ sub delete {
   my $dbh = dbh;
 
   my $self = shift;
-  my $error = $self->process_m2m([])
-           || $self->SUPER::delete;
+  my $error = $self->process_m2m(
+    link_table    => 'export_nas',
+    target_table  => 'part_export',
+    params        => []
+  ) || $self->SUPER::delete;
 
   if ( $error ) {
-    $dbh->rollback;
+    $dbh->rollback if $oldAutoCommit;
     return $error;
   }
   
@@ -156,6 +160,7 @@ sub check {
     || $self->ut_textn('server')
     || $self->ut_textn('community')
     || $self->ut_text('description')
+    || $self->ut_foreign_keyn('svcnum', 'svc_broadband', 'svcnum')
   ;
   return $error if $error;