domain rules based on templates (rules from other domains), RT#7514
[freeside.git] / httemplate / edit / process / elements / process.html
index 87cadb7..ebbc2f7 100644 (file)
@@ -65,6 +65,9 @@ Example:
    #return an error string or empty for no error
    'precheck_callback' => sub { my( $cgi ) = @_; },
 
+   #after everything's inserted
+   'noerror_callback' => sub { my( $cgi, $object ) = @_; },
+
    #supplies arguments to insert() and replace()
    # for use with tables that are FS::option_Common (among other things)
    'args_callback' => sub { my( $cgi, $object ) = @_; },
@@ -298,12 +301,20 @@ if ( !$error && $opt{'process_o2m'} ) {
 
 
 if ( $error ) {
+
   $cgi->param('error', $error);
   if ( $opt{'clear_on_error'} && scalar(@{$opt{'clear_on_error'}}) ) {
     foreach my $field (@{$opt{'clear_on_error'}}) {
       $cgi->param($field, '')
     }
   }
+
+} else {
+
+  if ( $opt{'noerror_callback'} ) {
+    &{ $opt{'noerror_callback'} }( $cgi, $new );
+  }
+
 }
 
 </%init>