improve unsuspend behavior for packages on hold, #28508
[freeside.git] / FS / FS / Record.pm
index 2005756..4915b96 100644 (file)
@@ -408,7 +408,6 @@ sub qsearch {
     push @statement, $statement;
 
     warn "[debug]$me $statement\n" if $DEBUG > 1 || $debug;
 
     foreach my $field (
       grep defined( $record->{$_} ) && $record->{$_} ne '', @real_fields
@@ -1043,7 +1042,10 @@ sub fk_methods {
 
     my $method = '';
     if ( scalar( @{$fk->columns} ) == 1 ) {
-      if ( ! @{$fk->references} || $fk->columns->[0] eq $fk->references->[0] ){
+      if (    ! defined($fk->references)
+           || ! @{$fk->references}
+           || $fk->columns->[0] eq $fk->references->[0]
+      ) {
         $method = $fk->table;
       } else {
         #some sort of hint in the table.pm or schema for methods not named
@@ -1074,7 +1076,10 @@ sub fk_methods {
 
       my $method = '';
       if ( scalar( @{$fk->columns} ) == 1 ) {
-        if ( ! @{$fk->references} || $fk->columns->[0] eq $fk->references->[0] ){
+        if (    ! defined($fk->references)
+             || ! @{$fk->references}
+             || $fk->columns->[0] eq $fk->references->[0]
+        ) {
           $method = $f_table;
         } else {
           #some sort of hint in the table.pm or schema for methods not named
@@ -3317,7 +3322,7 @@ sub scalar_sql {
   defined($scalar) ? $scalar : '';
 }
 
-=item count [ WHERE ]
+=item count [ WHERE [, PLACEHOLDER ...] ]
 
 Convenience method for the common case of "SELECT COUNT(*) FROM table", 
 with optional WHERE.  Must be called as method on a class with an 
@@ -3330,7 +3335,7 @@ sub count {
   my $table = $self->table or die 'count called on object of class '.ref($self);
   my $sql = "SELECT COUNT(*) FROM $table";
   $sql .= " WHERE $where" if $where;
-  $self->scalar_sql($sql);
+  $self->scalar_sql($sql, @_);
 }
 
 =back