From: ivan Date: Mon, 3 May 2004 14:32:10 +0000 (+0000) Subject: make RADIUS groups available to shellcommands exports X-Git-Tag: BEFORE_FINAL_MASONIZE~1118 X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=commitdiff_plain;h=4e4a935e10dad30648d9d9ebb2069ca80217dc72;hp=0f5028bc5a7789429a41bca886e5a38ed0fa099f make RADIUS groups available to shellcommands exports --- diff --git a/FS/FS/part_export/shellcommands.pm b/FS/FS/part_export/shellcommands.pm index 78f9e9690..4431cc0c4 100644 --- a/FS/FS/part_export/shellcommands.pm +++ b/FS/FS/part_export/shellcommands.pm @@ -154,6 +154,7 @@ old_ for replace operations):
  • $dir - home directory
  • $shell
  • $quota +
  • @radius_groups
  • All other fields in svc_acct are also available. END @@ -228,6 +229,8 @@ sub _export_command { ); } + @radius_groups = $svc_acct->radius_groups; + $self->shellcommands_queue( $svc_acct->svcnum, user => $self->option('user')||'root', host => $self->machine, @@ -266,6 +269,9 @@ sub _export_replace { ); } + @old_radius_groups = $old->radius_groups; + @new_radius_groups = $new->radius_groups; + if ( $self->option('usermod_pwonly') ) { my $error = ''; if ( $old_username ne $new_username ) { @@ -280,6 +286,10 @@ sub _export_replace { if ( $old_dir ne $new_dir ) { $error ||= "can't change dir"; } + if ( join("\n", sort @old_radius_groups) ne + join("\n", sort @new_radius_groups) ) { + $error ||= "can't change RADIUS groups"; + } return $error. ' ('. $self->exporttype. ' to '. $self->machine. ')' if $error; } diff --git a/FS/FS/part_export/shellcommands_withdomain.pm b/FS/FS/part_export/shellcommands_withdomain.pm index 8a56bab1c..4f1b25bc4 100644 --- a/FS/FS/part_export/shellcommands_withdomain.pm +++ b/FS/FS/part_export/shellcommands_withdomain.pm @@ -95,6 +95,7 @@ The following variables are available for interpolation (prefixed with
  • $dir - home directory
  • $shell
  • $quota +
  • @radius_groups
  • All other fields in svc_acct are also available. END diff --git a/FS/FS/svc_acct.pm b/FS/FS/svc_acct.pm index 100af6cb6..e97afe36a 100644 --- a/FS/FS/svc_acct.pm +++ b/FS/FS/svc_acct.pm @@ -187,8 +187,7 @@ The additional fields pkgnum and svcpart (see L) should be defined. An FS::cust_svc record will be created and inserted. The additional field I can optionally be defined; if so it should -contain an arrayref of group names. See L. (used in -sqlradius export only) +contain an arrayref of group names. See L. The additional field I can optionally be defined; if so it should contain an arrayref of FS::tablename objects. They will have their @@ -535,8 +534,8 @@ Replaces OLD_RECORD with this one in the database. If there is an error, returns the error, otherwise returns false. The additional field I can optionally be defined; if so it should -contain an arrayref of group names. See L. (used in -sqlradius export only) +contain an arrayref of group names. See L. + =cut