X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=FS%2FFS%2Fpkg_svc.pm;h=ea52176cbce952b85c5e6a0d811aafb349ec1997;hp=d64d10db2be6c7429957cf7c6d5519ee7dba25f1;hb=f2e9d8413d6178a6248c8b5d47ac06b1d1f12cb5;hpb=0e8861ca6b3b04b99ea9477e8c1555561b21c929 diff --git a/FS/FS/pkg_svc.pm b/FS/FS/pkg_svc.pm index d64d10db2..ea52176cb 100644 --- a/FS/FS/pkg_svc.pm +++ b/FS/FS/pkg_svc.pm @@ -46,6 +46,8 @@ FS::Record. The following fields are currently supported: =item quantity - Quantity of this service definition that this billing item definition includes +=item primary_svc - primary flag, empty or 'Y' + =back =head1 METHODS @@ -67,24 +69,8 @@ otherwise returns false. =item delete -Deletes this record from the database. If this svcpart is also the default svcpart, -we set part_pkg.def_svcpart to NULL. If there is an error, returns the error, -otherwise returns false. - -sub delete { - my $self = shift; - my $part_pkg = qsearchs( 'part_pkg', { pkgpart => $self->pkgpart } ); - - # Should this be wrapped in a transaction? - if ( $part_pkg->def_svcpart == $self->svcpart ) { - my $new = new FS::part_pkg $part_pkg->hash; - $new->def_svcpart = 0; - my $error = $new->replace($part_pkg); - return $error if $error; - } - - $self->SUPER::delete; -} +Deletes this record from the database. If there is an error, returns the +error, otherwise returns false. =item replace OLD_RECORD @@ -99,16 +85,6 @@ sub replace { return "Can't change pkgpart!" if $old->pkgpart != $new->pkgpart; return "Can't change svcpart!" if $old->svcpart != $new->svcpart; - my $part_pkg = qsearchs( 'part_pkg', { pkgpart => $new->pkgpart } ); - - # Should this be wrapped in a transaction? - if ( ($part_pkg->def_svcpart == $new->svcpart) && ($new->quantity == 0) ) { - my $new_part_pkg = new FS::part_pkg $part_pkg->hash; - $new_part_pkg->def_svcpart = 0; - my $error = $new_part_pkg->replace($part_pkg); - return $error if $error; - } - $new->SUPER::replace($old); } @@ -134,7 +110,12 @@ sub check { return "Unknown pkgpart!" unless $self->part_pkg; return "Unknown svcpart!" unless $self->part_svc; - ''; #no error + if ( $self->dbdef_table->column('primary_svc') ) { + $error = $self->ut_enum('primary_svc', [ '', 'Y' ] ); + return $error if $error; + } + + $self->SUPER::check; } =item part_pkg @@ -161,10 +142,6 @@ sub part_svc { =back -=head1 VERSION - -$Id: pkg_svc.pm,v 1.2 2002-06-08 07:48:37 khoff Exp $ - =head1 BUGS =head1 SEE ALSO