X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2Fradius_attr.pm;h=1b7df2ee46c3563274d2e5c90c2d8e2f998c8784;hb=e803d5f00368e951f7a4b82d5d390b53c4a6c827;hp=cc03b4df9f58fdf9cf4b79d849b6b75565383990;hpb=68cd93a81814d8725118a66b54f20e2c2c1c20f0;p=freeside.git diff --git a/FS/FS/radius_attr.pm b/FS/FS/radius_attr.pm index cc03b4df9..1b7df2ee4 100644 --- a/FS/FS/radius_attr.pm +++ b/FS/FS/radius_attr.pm @@ -1,9 +1,11 @@ package FS::radius_attr; +use base qw( FS::Record ); use strict; -use base qw( FS::Record ); -use FS::Record qw( qsearch qsearchs ); use vars qw( $noexport_hack ); +use FS::Record qw( qsearch dbh ); + +$noexport_hack = 0; =head1 NAME @@ -174,13 +176,6 @@ sub check { Returns the L object to which this attribute applies. -=cut - -sub radius_group { - my $self = shift; - qsearchs('radius_group', { 'groupnum' => $self->groupnum }); -} - =back =head1 CLASS METHODS @@ -207,6 +202,21 @@ sub ops { =back +=cut + +sub _upgrade_schema { + my ($class, %opts) = @_; + + my $sql = ' + DELETE FROM radius_attr WHERE NOT EXISTS + ( SELECT 1 FROM radius_group WHERE radius_group.groupnum = radius_attr.groupnum ) + '; + + my $sth = dbh->prepare($sql) or die dbh->errstr; + $sth->execute or die $sth->errstr; + ''; +} + =head1 BUGS =head1 SEE ALSO