add status and statustext fields to cust_bill_event
[freeside.git] / FS / FS / cust_main.pm
index cf5bd33..ae6155a 100644 (file)
@@ -586,8 +586,9 @@ sub check {
   );
 
   if ( defined $self->dbdef_table->column('ship_last') ) {
-    if ( grep { $self->getfield($_) ne $self->getfield("ship_$_") } @addfields
-         && grep { $self->getfield("ship_$_") ne '' } @addfields
+    if ( scalar ( grep { $self->getfield($_) ne $self->getfield("ship_$_") }
+                       @addfields )
+         && scalar ( grep { $self->getfield("ship_$_") ne '' } @addfields )
        )
     {
       my $error =
@@ -1101,7 +1102,7 @@ sub collect {
   my $dbh = dbh;
 
   my $balance = $self->balance;
-  warn "collect: balance $balance" if $Debug;
+  warn "collect customer". $self->custnum. ": balance $balance" if $Debug;
   unless ( $balance > 0 ) { #redundant?????
     $dbh->rollback if $oldAutoCommit; #hmm
     return '';
@@ -1139,10 +1140,16 @@ sub collect {
           qsearch('part_bill_event', { 'payby'    => $self->payby,
                                        'disabled' => '',           } )
     ) {
-      #run callback
+      warn "calling invoice event (". $part_bill_event->eventcode. ")\n"
+        if $Debug;
       my $cust_main = $self; #for callback
       my $error = eval $part_bill_event->eventcode;
 
+      if ( $@ ) {
+        warn "fatal error running invoice event (". $part_bill_event->eventcode.
+             "): $@";
+      }
+
       if ( $error ) {
 
         warn "Error running invoice event (". $part_bill_event->eventcode.