X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=FS%2FFS%2Fpart_pkg_link.pm;h=5fe6f2f01411bece7dd229aee21265b134f694a6;hp=8e43d155e1541bd7c487d6fc5f0582a1e281f325;hb=8d0e8149e7b19ad8543ac6c8c663be63dbc34762;hpb=aec7743508bd9565dd076ec019dbb3d5b7cedd9c diff --git a/FS/FS/part_pkg_link.pm b/FS/FS/part_pkg_link.pm index 8e43d155e..5fe6f2f01 100644 --- a/FS/FS/part_pkg_link.pm +++ b/FS/FS/part_pkg_link.pm @@ -130,6 +130,7 @@ sub insert { return $error if $error; } + $dbh->commit if $oldAutoCommit; return; } @@ -166,7 +167,7 @@ sub delete { $dbh->rollback if $oldAutoCommit; return $error; } - $dbh->commit; + $dbh->commit if $oldAutoCommit; return; } @@ -249,12 +250,10 @@ sub check { my $dst_pkg = $self->dst_pkg; if ( $src_pkg->freq eq '0' and $dst_pkg->freq ne '0' ) { return "One-time charges can't have supplemental packages." - } elsif ( $dst_pkg->freq ne '0' ) { - my $ratio = $dst_pkg->freq / $src_pkg->freq; - if ($ratio != int($ratio)) { - return "Supplemental package period (pkgpart ".$dst_pkg->pkgpart. - ") must be an integer multiple of main package period."; - } + } elsif ( $dst_pkg->freq == 0 ) { + return "The billing period of a supplemental package must be a whole number of months."; + } elsif ( $src_pkg->freq == 0 ) { + return "To have supplemental packages, the billing period of a package must be a whole number of months."; } }