X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2Fpart_export%2Fradiator.pm;h=669e3d41c8c9be8028e4f13f3972386cc4fa3108;hb=fcce61390d750f98bd82e84d4664ae9c03202be2;hp=7fa948593f535fe15d0e7082cc224512c17e7953;hpb=b0f8738e17758e071dd65b9d6574535d66595673;p=freeside.git diff --git a/FS/FS/part_export/radiator.pm b/FS/FS/part_export/radiator.pm index 7fa948593..669e3d41c 100644 --- a/FS/FS/part_export/radiator.pm +++ b/FS/FS/part_export/radiator.pm @@ -3,6 +3,7 @@ package FS::part_export::radiator; use vars qw(@ISA %info $radusers); use Tie::IxHash; use FS::part_export::sqlradius; +use FS::DBI; tie my %options, 'Tie::IxHash', %FS::part_export::sqlradius::options; @@ -11,6 +12,8 @@ tie my %options, 'Tie::IxHash', %FS::part_export::sqlradius::options; 'desc' => 'Real-time export to RADIATOR', 'options' => \%options, 'nodomain' => '', + 'no_machine' => 1, + 'default_svc_class' => 'Internet', 'notes' => <<'END', Real-time export of the radusers table to any SQL database in Radiator-native format. @@ -68,7 +71,7 @@ sub _radiator_hash { my( $self, $svc_acct ) = @_; my %hash = ( 'username' => $self->export_username($svc_acct), - 'pass_word' => $svc_acct->_password, + 'pass_word' => $svc_acct->crypt_password, 'fullname' => $svc_acct->finger, map { my $method = "radius_$_"; $_ => $svc_acct->$method(); } qw( framed_filter_id framed_mtu framed_netmask framed_protocol @@ -82,7 +85,7 @@ sub _radiator_hash { $hash{'servicename'} = ( $svc_acct->radius_groups )[0]; my $cust_pkg = $svc_acct->cust_svc->cust_pkg; - $hash{validto} = $cust_pkg->bill + $hash{'validto'} = $cust_pkg->bill if $cust_pkg && $cust_pkg->part_pkg->is_prepaid && $cust_pkg->bill; #some other random stuff, should probably be attributes or virtual fields @@ -93,6 +96,8 @@ sub _radiator_hash { if $cust_pkg && $cust_pkg->setup; $hash{'validfrom'} = $cust_pkg->last_bill || $cust_pkg->setup if $cust_pkg && ( $cust_pkg->last_bill || $cust_pkg->setup ); + $hash{'state'} = $cust_pkg->susp ? 1 : 0 + if $cust_pkg; %hash; } @@ -159,7 +164,7 @@ sub radiator_delete { #subroutine, not method sub radiator_connect { #my($datasrc, $username, $password) = @_; #DBI->connect($datasrc, $username, $password) or die $DBI::errstr; - DBI->connect(@_) or die $DBI::errstr; + FS::DBI->connect(@_) or die $FS::DBI::errstr; } 1;