[freeside-commits] freeside/FS/bin freeside-upgrade, 1.20, 1.21 freeside-sqlradius-radacctd, 1.9, 1.10

Ivan,,, ivan at wavetail.420.am
Sun May 18 15:42:58 PDT 2008


Update of /home/cvs/cvsroot/freeside/FS/bin
In directory wavetail.420.am:/tmp/cvs-serv28674/FS/bin

Modified Files:
	freeside-upgrade freeside-sqlradius-radacctd 
Log Message:
on upgrade, automatically seed from sqlradius databases, and start freeside-sqlradius-radacctd by default

Index: freeside-sqlradius-radacctd
===================================================================
RCS file: /home/cvs/cvsroot/freeside/FS/bin/freeside-sqlradius-radacctd,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -d -r1.9 -r1.10
--- freeside-sqlradius-radacctd	15 Dec 2006 00:28:46 -0000	1.9
+++ freeside-sqlradius-radacctd	18 May 2008 22:42:55 -0000	1.10
@@ -9,6 +9,7 @@
 use FS::UID qw(adminsuidsetup); #forksuidsetup driver_name dbh myconnect);
 use FS::Record qw(qsearch); # qsearchs);
 use FS::part_export;
+use FS::part_export::sqlradius;
 #use FS::svc_acct;
 #use FS::cust_svc;
 
@@ -29,17 +30,7 @@
 
 #--
 
-#don't just look for ->can('usage_sessions'), we're sqlradius-specific
-# (radiator is supposed to be setup with a radacct table)
-
- at part_export =
-  qsearch('part_export', { 'exporttype' => 'sqlradius' } );
-push @part_export,
-  qsearch('part_export', { 'exporttype' => 'sqlradius_withdomain' } );
-push @part_export,
-  qsearch('part_export', { 'exporttype' => 'radiator' } );
-
- at part_export = grep { ! $_->option('ignore_accounting') } @part_export;
+my @part_export = FS::part_export::sqlradius->all_sqlradius_withaccounting();
 
 die "no sqlradius, sqlradius_withdomain or radiator exports without".
     " ignore_accounting"
@@ -129,13 +120,17 @@
 
 Imports records from an the SQL radacct tables of all sqlradius, 
 sqlradius_withdomain and radiator exports (except those with the
-ignore_accounting flag) and updates the svc_acct.seconds for each account.
-Runs as a daemon and updates the database in real-time.
+ignore_accounting flag) and updates the following fields in svc_acct (see
+L<FS::svc_acct>) for each account: last_login, last_logout, seconds,
+upbytes, downbytes, totalbytes.  Runs as a daemon and updates the database
+in real-time.
 
 B<username> is a username added by freeside-adduser.
 
 =head1 RADIUS DATABASE CHANGES
 
+In 1.7.4+, freeside-upgrade should have taken care of these changes already.
+
 ALTER TABLE radacct ADD COLUMN FreesideStatus varchar(32) NULL;
 
 If you want to ignore the existing accountg records, also do:

Index: freeside-upgrade
===================================================================
RCS file: /home/cvs/cvsroot/freeside/FS/bin/freeside-upgrade,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -d -r1.20 -r1.21
--- freeside-upgrade	2 May 2008 20:30:17 -0000	1.20
+++ freeside-upgrade	18 May 2008 22:42:55 -0000	1.21
@@ -123,6 +123,9 @@
 upgrade()
   unless $DRY_RUN || $opt_s;
 
+upgrade_sqlradius()
+  unless $DRY_RUN || $opt_s;
+
 $dbh->commit or die $dbh->errstr;
 $dbh->disconnect or die $dbh->errstr;
 
@@ -135,7 +138,7 @@
 }
 
 sub usage {
-  die "Usage:\n  freeside-upgrade [ -d ] [ -q | -v ] user\n"; 
+  die "Usage:\n  freeside-upgrade [ -d ] [ -s ] [ -q | -v ] user\n"; 
 }
 
 =head1 NAME



More information about the freeside-commits mailing list