summaryrefslogtreecommitdiff
path: root/httemplate/edit/svc_acct.cgi
diff options
context:
space:
mode:
Diffstat (limited to 'httemplate/edit/svc_acct.cgi')
-rwxr-xr-xhttemplate/edit/svc_acct.cgi34
1 files changed, 19 insertions, 15 deletions
diff --git a/httemplate/edit/svc_acct.cgi b/httemplate/edit/svc_acct.cgi
index 1e87c67ad..71b324d99 100755
--- a/httemplate/edit/svc_acct.cgi
+++ b/httemplate/edit/svc_acct.cgi
@@ -68,18 +68,22 @@ unless ( $svcnum || $cgi->param('error') ) { #adding
}
}
- #set fixed and default fields from part_svc
- foreach my $part_svc_column (
- grep { $_->columnflag } $part_svc->all_part_svc_column
- ) {
- 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,
- );
- }
- }
+ $svc_acct->set_default_and_fixed( {
+ #false laziness w/svc-acct::_fieldhandlers
+ 'usergroup' => sub {
+ my( $self, $groups ) = @_;
+ if ( ref($groups) eq 'ARRAY' ) {
+ @groups = @$groups;
+ $groups;
+ } elsif ( length($groups) ) {
+ @groups = split(/\s*,\s*/, $groups);
+ [ @groups ];
+ } else {
+ @groups = ();
+ [];
+ }
+ }
+ } );
}
@@ -274,7 +278,7 @@ if ( $part_svc->part_svc_column('popnum')->columnflag eq 'F' ) {
<% foreach my $xid (qw( uid gid )) { %>
<%
- if ( $part_svc->part_svc_column($xid)->columnflag eq 'F'
+ if ( $part_svc->part_svc_column($xid)->columnflag =~ /^[FA]$/
|| ! $conf->exists("svc_acct-edit_$xid")
) {
%>
@@ -376,7 +380,7 @@ if ( $part_svc->part_svc_column('shell')->columnflag eq 'F'
<% } %>
-<% if ( $part_svc->part_svc_column('slipip')->columnflag eq 'F' ) { %>
+<% if ( $part_svc->part_svc_column('slipip')->columnflag =~ /^[FA]$/ ) { %>
<INPUT TYPE="hidden" NAME="slipip" VALUE="<%= $svc_acct->slipip %>">
@@ -396,7 +400,7 @@ foreach my $r ( grep { /^r(adius|[cr])_/ } fields('svc_acct') ) {
my $a = $2;
%>
- <% if ( $part_svc->part_svc_column($r)->columnflag eq 'F' ) { %>
+ <% if ( $part_svc->part_svc_column($r)->columnflag =~ /^[FA]$/ ) { %>
<INPUT TYPE="hidden" NAME="<%= $r %>" VALUE="<%= $svc_acct->getfield($r) %>">