eliminate some false laziness in FS::Misc::send_email vs. msg_template/email.pm send_...
[freeside.git] / FS / FS / radius_usergroup.pm
index 2de1423..cf3cdfa 100644 (file)
@@ -1,13 +1,11 @@
 package FS::radius_usergroup;
+use base qw(FS::Record);
 
 use strict;
-use vars qw( @ISA );
 use FS::Record qw( qsearch qsearchs );
 use FS::svc_acct;
 use FS::radius_group;
 
-@ISA = qw(FS::Record);
-
 =head1 NAME
 
 FS::radius_usergroup - Object methods for radius_usergroup records
@@ -96,25 +94,29 @@ and replace methods.
 
 sub check {
   my $self = shift;
-
+  my $svcnum = $self->svcnum;
   die "radius_usergroup.groupname is deprecated" if $self->groupname;
 
   $self->ut_numbern('usergroupnum')
-    || $self->ut_foreign_key('svcnum','svc_acct','svcnum')
+    || ( $self->ut_foreign_key('svcnum','svc_acct','svcnum')
+      && $self->ut_foreign_key('svcnum','svc_broadband','svcnum')
+      && "Can't find radius_usergroup.svcnum $svcnum in svc_acct.svcnum or svc_broadband.svcnum" ) 
     || $self->ut_foreign_key('groupnum','radius_group','groupnum')
     || $self->SUPER::check
   ;
 }
 
-=item svc_acct
+=item svc_x
 
-Returns the account associated with this record (see L<FS::svc_acct>).
+Returns the account associated with this record (see L<FS::svc_acct> and 
+L<FS::svc_broadband>).
 
 =cut
 
 sub svc_acct {
   my $self = shift;
-  qsearchs('svc_acct', { svcnum => $self->svcnum } );
+  qsearchs('svc_acct', { svcnum => $self->svcnum } ) ||
+  qsearchs('svc_broadband', { svcnum => $self->svcnum } )
 }
 
 =item radius_group
@@ -123,11 +125,6 @@ Returns the RADIUS group associated with this record (see L<FS::radius_group>).
 
 =cut
 
-sub radius_group {
-  my $self = shift;
-  qsearchs('radius_group', { 'groupnum'  => $self->groupnum } );
-}
-
 sub _upgrade_data {  #class method
   my ($class, %opts) = @_;
 
@@ -159,7 +156,7 @@ sub _upgrade_data {  #class method
 
 =head1 SEE ALSO
 
-L<svc_acct>, L<FS::radius_group>, L<FS::Record>, schema.html from the base documentation.
+L<FS::svc_acct>, L<FS::radius_group>, L<FS::Record>, schema.html from the base documentation.
 
 =cut