Virtual field merge
[freeside.git] / httemplate / edit / process / router.cgi
index 1b7fc38..7e40c48 100644 (file)
@@ -19,19 +19,16 @@ my $error = '';
 my $routernum  = $cgi->param('routernum');
 my $routername = $cgi->param('routername');
 my $old = qsearchs('router', { routernum => $routernum });
-my @old_rf;
 my @old_psr;
 
 my $new = new FS::router {
-    routernum  => $routernum,
-    routername => $routername,
-    svcnum     => 0
-    };
+  map {
+    ($_, scalar($cgi->param($_)));
+  } fields('router')
+};
 
 if($old) {
-  if($old->routername ne $new->routername) {
-    $error = $new->replace($old);
-  } #else do nothing
+  $error = $new->replace($old);
 } else {
   $error = $new->insert;
   $routernum = $new->routernum;
@@ -49,21 +46,6 @@ if ($old) {
     }
   }
   check($error);
-  @old_rf = $old->router_field;
-  foreach $rf (@old_rf) {
-    if(my $new_val = $cgi->param('rf_'.$rf->routerfieldpart)) {
-      if($new_val ne $rf->value) {
-        my $new_rf = new FS::router_field 
-         { routernum       => $routernum,
-           value           => $new_val,
-           routerfieldpart => $rf->routerfieldpart };
-       $error = $new_rf->replace($rf);
-      } #else do nothing
-    } else {
-      $error = $rf->delete;
-    }
-    check($error);
-  }
 }
 
 foreach($cgi->param) {
@@ -77,23 +59,10 @@ foreach($cgi->param) {
       $error = $new_psr->insert;
     }
     check($error);
-  } elsif($cgi->param($_) ne '' and /^rf_(\d+)$/) {
-    my $part = $1;
-    if(my @x = grep {$_->routerfieldpart == $part} @old_rf) {
-      # already handled all of these
-    } else {
-      my $new_rf = new FS::router_field
-        { routernum       => $routernum,
-         value           => $cgi->param('rf_'.$part),
-         routerfieldpart => $part };
-      $error = $new_rf->insert;
-      check($error);
-    }
   }
 }
 
 
-
 # Yay, everything worked!
 $dbh->commit or die $dbh->errstr;
 print $cgi->redirect(popurl(3). "browse/router.cgi");