X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=httemplate%2Fedit%2Fsvc_acct.cgi;h=f1b8b800b3d6120be05abf387e898f9898f6d442;hp=8a80d4c72d66c7589c66b27c99d78da9e70e59de;hb=a5c64e8089d4e6c76ee070102e3a67baf1485181;hpb=8fe83dcb8807a86209625a5aab7e574073f0a907 diff --git a/httemplate/edit/svc_acct.cgi b/httemplate/edit/svc_acct.cgi index 8a80d4c72..f1b8b800b 100755 --- a/httemplate/edit/svc_acct.cgi +++ b/httemplate/edit/svc_acct.cgi @@ -12,8 +12,8 @@ if ( $cgi->param('error') ) { $svcnum = $svc_acct->svcnum; $pkgnum = $cgi->param('pkgnum'); $svcpart = $cgi->param('svcpart'); - $part_svc=qsearchs('part_svc',{'svcpart'=>$svcpart}); - die "No part_svc entry!" unless $part_svc; + $part_svc = qsearchs( 'part_svc', { 'svcpart' => $svcpart } ); + die "No part_svc entry for svcpart $svcpart!" unless $part_svc; @groups = $cgi->param('radius_usergroup'); } else { my($query) = $cgi->keywords; @@ -28,21 +28,21 @@ if ( $cgi->param('error') ) { $pkgnum=$cust_svc->pkgnum; $svcpart=$cust_svc->svcpart; - $part_svc=qsearchs('part_svc',{'svcpart'=>$svcpart}); - die "No part_svc entry!" unless $part_svc; + $part_svc = qsearchs( 'part_svc', { 'svcpart' => $svcpart } ); + die "No part_svc entry for svcpart $svcpart!" unless $part_svc; @groups = $svc_acct->radius_groups; } else { #adding - $svc_acct = new FS::svc_acct({}); - foreach $_ (split(/-/,$query)) { $pkgnum=$1 if /^pkgnum(\d+)$/; $svcpart=$1 if /^svcpart(\d+)$/; } - $part_svc=qsearchs('part_svc',{'svcpart'=>$svcpart}); - die "No part_svc entry!" unless $part_svc; + $part_svc = qsearchs( 'part_svc', { 'svcpart' => $svcpart } ); + die "No part_svc entry for svcpart $svcpart!" unless $part_svc; + + $svc_acct = new FS::svc_acct({svcpart => $svcpart}); $svcnum=''; @@ -61,15 +61,23 @@ if ( $cgi->param('error') ) { foreach my $part_svc_column ( grep { $_->columnflag } $part_svc->all_part_svc_column ) { - $svc_acct->setfield( $part_svc_column->columnname, - $part_svc_column->columnvalue, - ); + if ( $part_svc_column->columnname eq 'usergroup' ) { + @groups = split(',', $part_svc_column->columnvalue); + } else { + $svc_acct->setfield( $part_svc_column->columnname, + $part_svc_column->columnvalue, + ); + } } - #SET DEFAULT GROUP(S) FROM PART_SVC!!!! - } } + +#fixed radius groups always override & display +if ( $part_svc->part_svc_column('usergroup')->columnflag eq "F" ) { + @groups = split(',', $part_svc->part_svc_column('usergroup')->columnvalue); +} + my $action = $svcnum ? 'Edit' : 'Add'; my $svc = $part_svc->getfield('svc'); @@ -120,6 +128,18 @@ print &ntable("#cccccc",2), < END +my $sec_phrase = $svc_acct->sec_phrase; +if ( $conf->exists('security_phrase') ) { + print <Security phrase + + (for forgotten passwords) + +END +} else { + print qq!!; +} + #domain my $domsvc = $svc_acct->domsvc || 0; if ( $part_svc->part_svc_column('domsvc')->columnflag eq 'F' ) { @@ -149,7 +169,7 @@ if ( $part_svc->part_svc_column('domsvc')->columnflag eq 'F' ) { } my $cust_pkg = qsearchs('cust_pkg', { 'pkgnum' => $pkgnum } ); - if ($cust_pkg) { + if ($cust_pkg && !$conf->exists('svc_acct-alldomains') ) { my @cust_svc = map { qsearch('cust_svc', { 'pkgnum' => $_->pkgnum } ) } qsearch('cust_pkg', { 'custnum' => $cust_pkg->custnum } ); @@ -224,7 +244,16 @@ my($quota,$slipip)=( $svc_acct->slipip, ); -print qq!!; +if ( $part_svc->part_svc_column('quota')->columnflag eq "F" ) +{ + print qq!!; +} else { + print <Quota: + + +END +} if ( $part_svc->part_svc_column('slipip')->columnflag eq "F" ) { print qq!!; @@ -244,10 +273,22 @@ foreach my $r ( grep { /^r(adius|[cr])_/ } fields('svc_acct') ) { } } -print 'RADIUS groups'. - &FS::svc_acct::radius_usergroup_selector( \@groups ). - ''; +print 'RADIUS groups'; +if ( $part_svc->part_svc_column('usergroup')->columnflag eq "F" ) { + print ''. join('
', @groups); +} else { + print ''. &FS::svc_acct::radius_usergroup_selector( \@groups ); +} +print ''; +foreach my $field ($svc_acct->virtual_fields) { + if ( $part_svc->part_svc_column($field)->columnflag ne 'F' ) { + # If the flag is X, it won't even show up in $svc_acct->virtual_fields. + print $svc_acct->pvf($field)->widget('HTML', 'edit', + $svc_acct->getfield($field)); + } +} + #submit print qq!
!;