X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2Fcust_pkg.pm;h=c49007ce18b2ea0bf3f121006ee026fa6bd10dc0;hb=7b5a266236857fbb4bbf8d4ac3031c3fec75cac2;hp=4464aa5a206b82d8f2a1b661316d6cf9a6cbb00e;hpb=71c6403be78e91e34d4124da35c9d0d284ad197d;p=freeside.git diff --git a/FS/FS/cust_pkg.pm b/FS/FS/cust_pkg.pm index 4464aa5a2..c49007ce1 100644 --- a/FS/FS/cust_pkg.pm +++ b/FS/FS/cust_pkg.pm @@ -1773,19 +1773,13 @@ sub change { $hash{"change_$_"} = $self->$_() foreach qw( pkgnum pkgpart locationnum ); - if ( $opt->{'cust_location'} && - ( ! $opt->{'locationnum'} || $opt->{'locationnum'} == -1 ) ) { - - if ( ! $opt->{'cust_location'}->locationnum ) { - # not inserted yet - $error = $opt->{'cust_location'}->insert; - if ( $error ) { - $dbh->rollback if $oldAutoCommit; - return "inserting cust_location (transaction rolled back): $error"; - } + if ( $opt->{'cust_location'} ) { + $error = $opt->{'cust_location'}->find_or_insert; + if ( $error ) { + $dbh->rollback if $oldAutoCommit; + return "inserting cust_location (transaction rolled back): $error"; } $opt->{'locationnum'} = $opt->{'cust_location'}->locationnum; - } # whether to override pkgpart checking on the new package