add username_policy "@append domain"
authorivan <ivan>
Tue, 12 Feb 2002 02:11:07 +0000 (02:11 +0000)
committerivan <ivan>
Tue, 12 Feb 2002 02:11:07 +0000 (02:11 +0000)
add "select" config type, mmm

FS/FS/Conf.pm
bin/svc_acct.export
httemplate/config/config.cgi

index 3a4f5b9..5de2551 100644 (file)
@@ -711,9 +711,10 @@ httemplate/docs/config.html
   {
     'key'         => 'username_policy',
     'section'     => '',
-    'description' => 'This file controls the mechanism for preventing duplicate usernames in passwd/radius files exported from svc_accts.  This should be one of \'prepend domsvc\' \'append domsvc\' or \'append domain\'',
-#    'type'        => 'select',
-    'type'        => 'text',
+    'description' => 'This file controls the mechanism for preventing duplicate usernames in passwd/radius files exported from svc_accts.  This should be one of \'prepend domsvc\' \'append domsvc\' \'append domain\' or \'append @domain\'',
+    'type'        => 'select',
+    'select_enum' => [ 'prepend domsvc', 'append domsvc', 'append domain', 'append @domain' ],
+    #'type'        => 'text',
   },
 
   {
index 3ac7a4f..e28de4a 100755 (executable)
@@ -1,6 +1,6 @@
 #!/usr/bin/perl -w
 #
-# $Id: svc_acct.export,v 1.28 2001-12-12 07:59:33 ivan Exp $
+# $Id: svc_acct.export,v 1.29 2002-02-12 02:11:07 ivan Exp $
 #
 # Create and export password, radius and vpopmail password files:
 # passwd, passwd.adjunct, shadow, acp_passwd, acp_userinfo, acp_dialup
@@ -287,6 +287,10 @@ foreach $svc_domain (sort {$a->domain cmp $b->domain} @svc_domain) {
       $username=$svc_acct->username . $svc_acct->domsvc;
     } elsif ($userpolicy =~ /^append domain$/) {
       $username=$svc_acct->username . $svc_domain->domain;
+    } elsif ($userpolicy =~ /^append domain$/) {
+      $username=$svc_acct->username . $svc_domain->domain;
+    } elsif ($userpolicy =~ /^append @domain$/) {
+      $username=$svc_acct->username . '@'. $svc_domain->domain;
     } else {
       die "Unknown policy in username_policy\n";
     }
index b9e84a8..f640d0b 100644 (file)
             <input name="<%= $i->key. $n %>" type="checkbox" value="1"<%= $conf->exists($i->key) ? ' CHECKED' : '' %>>
           <% } elsif ( $type eq 'text' )  { %>
             <input name="<%= $i->key. $n %>" type="<%= $type %>" value="<%= $conf->exists($i->key) ? $conf->config($i->key) : '' %>">
+          <% } elsif ( $type eq 'select' )  { %>
+            <select name="<%= $i->key. $n %>">
+              <% my %saw;
+                 foreach my $value ( "", @{$i->select_enum} ) {
+                    local($^W)=0; next if $saw{$value}++; %>
+                <option value="<%= $value %>"<%= $value eq $conf->config($i->key) ? ' SELECTED' : '' %>><%= $value %>
+              <% } %>
+              <% if ( $conf->exists($i->key) && $conf->config($i->key) && ! grep { $conf->config($i->key) eq $_ } @{$i->select_enum}) { %>
+                <option value=<%= $conf->config($i->key) %> SELECTED><%= conf->config($i->key) %>
+              <% } %>
           <% } else { %>
             <font color="#ff0000">unknown type <%= $type %></font>
           <% } %>