my $error = $self->SUPER::insert;
#check if this releases a hold (see FS::pkg_svc provision_hold)
- $error ||= $self->_provision_hold;
+ $error ||= $self->_check_provision_hold;
if ( $error ) {
$dbh->rollback if $oldAutoCommit;
} # if this is a location change
#check if this releases a hold (see FS::pkg_svc provision_hold)
- $error ||= $new->_provision_hold;
+ $error ||= $new->_check_provision_hold;
if ( $error ) {
$dbh->rollback if $oldAutoCommit;
my @or =
map { my $table = $_;
my $search_sql = "FS::$table"->search_sql($string);
+ my $addl_from = "FS::$table"->search_sql_addl_from();
"SELECT $table.svcnum AS svcnum, '$table' AS svcdb ".
- "FROM $table WHERE $search_sql";
+ "FROM $table $addl_from WHERE $search_sql";
}
FS::part_svc->svc_tables;
# then removes hold from pkg
# returns $error or '' on success,
# does not indicate if pkg status was changed
-sub _provision_hold {
+sub _check_provision_hold {
my $self = shift;
# check status of cust_pkg
my $cust_pkg = $self->cust_pkg;
- return '' unless $cust_pkg->status eq 'on hold';
+ return '' unless $cust_pkg && $cust_pkg->status eq 'on hold';
# check flag on this svc
# small false laziness with $self->pkg_svc