From 844855ae401bc5a7167b5fa8898275f89719ed71 Mon Sep 17 00:00:00 2001 From: ivan Date: Tue, 11 Sep 2001 23:44:01 +0000 Subject: [PATCH] radius attributes & default/fixed values should work again now --- FS/FS/part_svc.pm | 16 ++++++++++----- httemplate/edit/svc_acct.cgi | 45 +++++++++++++++++++++++++++-------------- httemplate/edit/svc_acct_sm.cgi | 13 ++++++------ httemplate/edit/svc_domain.cgi | 14 +++++++------ httemplate/edit/svc_forward.cgi | 14 +++++++------ httemplate/view/svc_acct.cgi | 14 +++++++++---- 6 files changed, 74 insertions(+), 42 deletions(-) diff --git a/FS/FS/part_svc.pm b/FS/FS/part_svc.pm index f1e71ada8..6f66ef960 100644 --- a/FS/FS/part_svc.pm +++ b/FS/FS/part_svc.pm @@ -40,10 +40,6 @@ FS::Record. The following fields are currently supported: =item svcdb - table used for this service. See L, L, and L, among others. -=item I__I - Default or fixed value for I in I. - -=item I__I_flag - defines I__I action: null, `D' for default, or `F' for fixed - =back =head1 METHODS @@ -63,6 +59,7 @@ sub table { 'part_svc'; } Adds this service definition to the database. If there is an error, returns the error, otherwise returns false. + =item I__I - Default or fixed value for I in I. =item I__I_flag - defines I__I action: null, `D' for default, or `F' for fixed @@ -285,11 +282,20 @@ sub part_svc_column { }; } +=item all_part_svc_column + +=cut + +sub all_part_svc_column { + my $self = shift; + qsearch('part_svc_column', { 'svcpart' => $self->svcpart } ); +} + =back =head1 VERSION -$Id: part_svc.pm,v 1.4 2001-09-11 00:08:18 ivan Exp $ +$Id: part_svc.pm,v 1.5 2001-09-11 23:44:01 ivan Exp $ =head1 BUGS diff --git a/httemplate/edit/svc_acct.cgi b/httemplate/edit/svc_acct.cgi index 8a2cb802e..f594bd255 100755 --- a/httemplate/edit/svc_acct.cgi +++ b/httemplate/edit/svc_acct.cgi @@ -1,5 +1,5 @@ <% -# +# use strict; use vars qw( $conf $cgi @shells $action $svcnum $svc_acct $pkgnum $svcpart @@ -13,6 +13,7 @@ use FS::CGI qw(header popurl); use FS::Record qw(qsearch qsearchs fields); use FS::svc_acct; use FS::Conf; +use FS::raddb; $cgi = new CGI; &cgisuidsetup($cgi); @@ -68,11 +69,12 @@ if ( $cgi->param('error') ) { } #set fixed and default fields from part_svc - my($field); - foreach $field ( fields('svc_acct') ) { - if ( $part_svc->getfield('svc_acct__'. $field. '_flag') ne '' ) { - $svc_acct->setfield($field,$part_svc->getfield('svc_acct__'. $field) ); - } + foreach my $part_svc_column ( + grep { $_->columnflag } $part_svc->all_part_svc_column + ) { + $svc_acct->setfield( $part_svc_column->columnname, + $part_svc_column->columnvalue, + ); } } @@ -118,18 +120,19 @@ END #domain $domsvc = $svc_acct->domsvc || 0; -if ( $part_svc->svc_acct__domsvc_flag eq 'F' ) { +if ( $part_svc->part_svc_column('domsvc')->columnflag eq 'F' ) { print qq!!; } else { my @svc_domain = (); - if ( $part_svc->svc_acct__domsvc_flag eq 'D' ) { - my $svc_domain = - qsearchs('svc_domain', { 'svcnum' => $part_svc->svc_acct__domsvc } ); + if ( $part_svc->part_svc_column('domsvc')->columnflag eq 'D' ) { + my $svc_domain = qsearchs('svc_domain', { + 'svcnum' => $part_svc->part_svc_column('domsvc')->columnvalue, + } ); if ( $svc_domain ) { push @svc_domain, $svc_domain; } else { - warn "unknown svc_domain.svcnum for part_svc.svc_acct__domsvc: ". - $part_svc->svc_acct__domsvc; + warn "unknown svc_domain.svcnum for part_svc_column domsvc: ". + $part_svc->part_svc_column('domsvc')->columnvalue; } } my $cust_pkg = qsearchs('cust_pkg', { 'pkgnum' => $pkgnum } ); @@ -157,7 +160,7 @@ if ( $part_svc->svc_acct__domsvc_flag eq 'F' ) { #pop $popnum = $svc_acct->popnum || 0; -if ( $part_svc->svc_acct__popnum_flag eq "F" ) { +if ( $part_svc->part_svc_column('popnum')->columnflag eq "F" ) { print qq!!; } else { print qq!
POP: !; } else { print qq!
Shell: !; -if ( $part_svc->svc_acct__slipip_flag eq "F" ) { +if ( $part_svc->part_svc_column('slipip')->columnflag eq "F" ) { print qq!!; } else { print qq!
IP: !; } +foreach my $r ( grep { /^r(adius|[cr])_/ } fields('svc_acct') ) { + $r =~ /^^r(adius|[cr])_(.+)$/ or next; #? + my $a = $2; + if ( $part_svc->part_svc_column($r)->columnflag eq 'F' ) { + print qq!'; + } else { + print qq!
$FS::raddb::attrib{$a}: '; + } +} + #submit print qq!

!; diff --git a/httemplate/edit/svc_acct_sm.cgi b/httemplate/edit/svc_acct_sm.cgi index 4eb3d8333..21bd6a9ee 100755 --- a/httemplate/edit/svc_acct_sm.cgi +++ b/httemplate/edit/svc_acct_sm.cgi @@ -1,5 +1,5 @@ <% -# +# use strict; use vars qw( $conf $cgi $mydomain $action $svcnum $svc_acct_sm $pkgnum $svcpart @@ -57,11 +57,12 @@ if ( $cgi->param('error') ) { $svcnum=''; #set fixed and default fields from part_svc - my($field); - foreach $field ( fields('svc_acct_sm') ) { - if ( $part_svc->getfield('svc_acct_sm__'. $field. '_flag') ne '' ) { - $svc_acct_sm->setfield($field,$part_svc->getfield('svc_acct_sm__'. $field) ); - } + foreach my $part_svc_column ( + grep { $_->columnflag } $part_svc->all_part_svc_column + ) { + $svc_acct_sm->setfield( $part_svc_column->columnname, + $part_svc_column->columnvalue, + ); } } diff --git a/httemplate/edit/svc_domain.cgi b/httemplate/edit/svc_domain.cgi index 8ffc9d789..7033c11f7 100755 --- a/httemplate/edit/svc_domain.cgi +++ b/httemplate/edit/svc_domain.cgi @@ -1,5 +1,5 @@ <% -# +# use strict; use vars qw( $cgi $action $svcnum $svc_domain $pkgnum $svcpart $part_svc @@ -57,13 +57,15 @@ if ( $cgi->param('error') ) { $svcnum=''; #set fixed and default fields from part_svc - my($field); - foreach $field ( fields('svc_domain') ) { - if ( $part_svc->getfield('svc_domain__'. $field. '_flag') ne '' ) { - $svc_domain->setfield($field,$part_svc->getfield('svc_domain__'. $field) ); - } + foreach my $part_svc_column ( + grep { $_->columnflag } $part_svc->all_part_svc_column + ) { + $svc_domain->setfield( $part_svc_column->columnname, + $part_svc_column->columnvalue, + ); } + } } $action = $svcnum ? 'Edit' : 'Add'; diff --git a/httemplate/edit/svc_forward.cgi b/httemplate/edit/svc_forward.cgi index de4c8cbc9..287833e53 100755 --- a/httemplate/edit/svc_forward.cgi +++ b/httemplate/edit/svc_forward.cgi @@ -1,5 +1,5 @@ <% -# +# use strict; use vars qw( $conf $cgi $mydomain $action $svcnum $svc_forward $pkgnum $svcpart @@ -57,13 +57,15 @@ if ( $cgi->param('error') ) { $svcnum=''; #set fixed and default fields from part_svc - my($field); - foreach $field ( fields('svc_forward') ) { - if ( $part_svc->getfield('svc_forward__'. $field. '_flag') ne '' ) { - $svc_forward->setfield($field,$part_svc->getfield('svc_forward__'. $field) ); - } + foreach my $part_svc_column ( + grep { $_->columnflag } $part_svc->all_part_svc_column + ) { + $svc_forward->setfield( $part_svc_column->columnname, + $part_svc_column->columnvalue, + ); } + } } $action = $svc_forward->svcnum ? 'Edit' : 'Add'; diff --git a/httemplate/view/svc_acct.cgi b/httemplate/view/svc_acct.cgi index 3a222710f..ad7e6539d 100755 --- a/httemplate/view/svc_acct.cgi +++ b/httemplate/view/svc_acct.cgi @@ -1,5 +1,5 @@ <% -# +# use strict; use vars qw( $conf $cgi $svc_domain $query $svcnum $svc_acct $cust_svc $pkgnum @@ -15,6 +15,7 @@ use FS::cust_svc; use FS::cust_pkg; use FS::part_svc; use FS::svc_acct_pop; +use FS::raddb; $cgi = new CGI; &cgisuidsetup($cgi); @@ -101,9 +102,14 @@ if ($svc_acct->slipip) { foreach $attribute ( grep /^radius_/, fields('svc_acct') ) { #warn $attribute; $attribute =~ /^radius_(.*)$/; - my($pattribute) = ($1); - $pattribute =~ s/_/-/g; - print "
Radius $pattribute: ". $svc_acct->getfield($attribute), ""; + my $pattribute = $FS::raddb::attrib{$1}; + print "
Radius (reply) $pattribute: ". $svc_acct->getfield($attribute), ""; + } + foreach $attribute ( grep /^rc_/, fields('svc_acct') ) { + #warn $attribute; + $attribute =~ /^rc_(.*)$/; + my $pattribute = $FS::raddb::attrib{$1}; + print "
Radius (check) $pattribute: ". $svc_acct->getfield($attribute), ""; } } else { print "

(No SLIP/PPP account)"; -- 2.11.0