fix RADIUS attribute capitalization
[freeside.git] / FS / FS / svc_acct.pm
index 7e27fd8..11e5a3c 100644 (file)
@@ -15,6 +15,7 @@ use FS::svc_acct_pop;
 use FS::svc_acct_sm;
 use FS::cust_main_invoice;
 use FS::svc_domain;
+use FS::raddb;
 
 @ISA = qw( FS::svc_Common );
 
@@ -118,6 +119,10 @@ FS::svc_Common.  The following fields are currently supported:
 
 =item slipip - IP address
 
+=item seconds - 
+
+=item domsvc - svcnum from svc_domain
+
 =item radius_I<Radius_Attribute> - I<Radius-Attribute>
 
 =item domsvc - service number of svc_domain with which to associate
@@ -185,7 +190,7 @@ sub insert {
   my $part_svc = qsearchs( 'part_svc', { 'svcpart' => $self->svcpart } );
   return "Unknown svcpart" unless $part_svc;
   return "uid in use"
-    if $part_svc->svc_acct__uid_flag ne 'F'
+    if $part_svc->part_svc_column('uid')->columnflag ne 'F'
       && qsearchs( 'svc_acct', { 'uid' => $self->uid } )
       && $self->username !~ /^(hyla)?fax$/
     ;
@@ -456,7 +461,7 @@ sub check {
     ! $recref->{popnum} ||
     qsearchs('svc_acct_pop',{'popnum'=> $recref->{popnum} } );
 
-  unless ( $part_svc->getfield('svc_acct__uid_flag') eq 'F' ) {
+  unless ( $part_svc->part_svc_column('uid')->columnflag eq 'F' ) {
 
     $recref->{uid} =~ /^(\d*)$/ or return "Illegal uid";
     $recref->{uid} = $1 eq '' ? $self->unique('uid') : $1;
@@ -506,7 +511,7 @@ sub check {
       return "Can't have quota without uid" : ( $recref->{quota}='' );
   }
 
-  unless ( $part_svc->getfield('svc_acct__slipip_flag') eq 'F' ) {
+  unless ( $part_svc->part_svc_column('slipip')->columnflag eq 'F' ) {
     unless ( $recref->{slipip} eq '0e0' ) {
       $recref->{slipip} =~ /^(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})$/
         or return "Illegal slipip". $self->slipip;
@@ -576,8 +581,8 @@ sub radius_reply {
   map {
     /^(radius_(.*))$/;
     my($column, $attrib) = ($1, $2);
-    $attrib =~ s/_/\-/g;
-    ( $attrib, $self->getfield($column) );
+    #$attrib =~ s/_/\-/g;
+    ( $FS::raddb::attrib{lc($attrib)}, $self->getfield($column) );
   } grep { /^radius_/ && $self->getfield($_) } fields( $self->table );
 }
 
@@ -596,8 +601,8 @@ sub radius_check {
   map {
     /^(rc_(.*))$/;
     my($column, $attrib) = ($1, $2);
-    $attrib =~ s/_/\-/g;
-    ( $attrib, $self->getfield($column) );
+    #$attrib =~ s/_/\-/g;
+    ( $FS::raddb:attrib{lc($attrib)}, $self->getfield($column) );
   } grep { /^rc_/ && $self->getfield($_) } fields( $self->table );
 }
 
@@ -633,7 +638,7 @@ sub email {
 
 =head1 VERSION
 
-$Id: svc_acct.pm,v 1.29 2001-09-02 04:51:11 ivan Exp $
+$Id: svc_acct.pm,v 1.32 2001-09-07 20:17:49 ivan Exp $
 
 =head1 BUGS