Textbox group member chooser option
authorJamie Cameron <jcameron@webmin.com>
Sat, 13 Dec 2008 00:45:19 +0000 (00:45 +0000)
committerJamie Cameron <jcameron@webmin.com>
Sat, 13 Dec 2008 00:45:19 +0000 (00:45 +0000)
17 files changed:
ldap-useradmin/CHANGELOG
ldap-useradmin/config-*-linux
ldap-useradmin/config-coherent-linux
ldap-useradmin/config-debian-linux
ldap-useradmin/config-debian-linux-3.1
ldap-useradmin/config-debian-linux-4.0-*
ldap-useradmin/config-debian-squirrelmail-linux
ldap-useradmin/config-macos
ldap-useradmin/config-mandrake-linux
ldap-useradmin/config-redhat-linux
ldap-useradmin/config-sol-linux
ldap-useradmin/config-suse-linux
ldap-useradmin/config-trustix-linux
ldap-useradmin/config-united-linux
ldap-useradmin/config.info
ldap-useradmin/edit_group.cgi
ldap-useradmin/save_group.cgi

index ff2c1a3..3ae89ac 100644 (file)
@@ -65,3 +65,4 @@ Coverted all pages to use the new Webmin UI library, for a more consistent look.
 Added a Module Config option to allow / as an IMAP folder separator, thanks to Bas van den Heuvel.
 Added a check on the module's main page to ensure that the LDAP schema is accessible.
 Fixed support for SSL and TLS when connecting to the LDAP server, thanks to Paul R. Ganci.
+Added a Module Config option to use a text box for entering secondary group members, rather than the left/right user chooser.
index 5a1f078..588ba0c 100644 (file)
@@ -20,3 +20,4 @@ person=1
 given_order=0
 imap_foldersep=.
 ldap_tls=0
+membox=0
index fb67950..dba0310 100644 (file)
@@ -19,3 +19,4 @@ person=1
 given_order=0
 imap_foldersep=.
 ldap_tls=0
+membox=0
index 8b47f67..c3d6614 100644 (file)
@@ -19,3 +19,4 @@ person=1
 given_order=0
 imap_foldersep=.
 ldap_tls=0
+membox=0
index f27b2c9..16b3213 100644 (file)
@@ -19,3 +19,4 @@ person=1
 given_order=0
 imap_foldersep=.
 ldap_tls=0
+membox=0
index 5834ba5..c8441fb 100644 (file)
@@ -19,3 +19,4 @@ person=1
 given_order=0
 imap_foldersep=.
 ldap_tls=0
+membox=0
index 4d0d132..066e0e6 100644 (file)
@@ -20,3 +20,4 @@ person=1
 given_order=0
 imap_foldersep=.
 ldap_tls=0
+membox=0
index fb67950..dba0310 100644 (file)
@@ -19,3 +19,4 @@ person=1
 given_order=0
 imap_foldersep=.
 ldap_tls=0
+membox=0
index fb67950..dba0310 100644 (file)
@@ -19,3 +19,4 @@ person=1
 given_order=0
 imap_foldersep=.
 ldap_tls=0
+membox=0
index fb67950..dba0310 100644 (file)
@@ -19,3 +19,4 @@ person=1
 given_order=0
 imap_foldersep=.
 ldap_tls=0
+membox=0
index 864442d..b62684a 100644 (file)
@@ -19,3 +19,4 @@ person=1
 given_order=0
 imap_foldersep=.
 ldap_tls=0
+membox=0
index 864442d..b62684a 100644 (file)
@@ -19,3 +19,4 @@ person=1
 given_order=0
 imap_foldersep=.
 ldap_tls=0
+membox=0
index 864442d..b62684a 100644 (file)
@@ -19,3 +19,4 @@ person=1
 given_order=0
 imap_foldersep=.
 ldap_tls=0
+membox=0
index 51f2699..599e031 100644 (file)
@@ -53,6 +53,7 @@ passwd_stars=Conceal plain-text password?,1,1-Yes,0-No,-From Users and Groups mo
 random_password=Generate password for new users?,1,1-Yes,0-No,-From Users and Groups module
 charset=Character set for editing users and groups,3,From Webmin language
 secmode=Show secondary groups on user form?,1,0-Yes,1-No,2-As text box
+membox=Edit group members using,1,1-Text box,0-User selector
 
 line2=Samba account options,11
 samba_class=LDAP object class for Samba users,10,sambaAccount-sambaAccount (Samba 2),sambaSamAccount-sambaSamAccount (Samba 3),Other
index faa61dd..a697231 100755 (executable)
@@ -35,16 +35,16 @@ push(@ulist, grep { !$ulistdone{$_->{'user'}} } &list_users());
 print &ui_form_start("save_group.cgi", "post");
 print &ui_hidden("new", $in{'new'});
 print &ui_hidden("dn", $in{'dn'});
-print &ui_table_start($text{'gedit_details'}, "width=100%", 4);
+print &ui_table_start($text{'gedit_details'}, "width=100%", 2, [ "width=30%" ]);
 
 # Current DN and classes
 if (!$in{'new'}) {
        print &ui_table_row($text{'gedit_dn'},
-               "<tt>$in{'dn'}</tt>", 3);
+               "<tt>$in{'dn'}</tt>");
 
        print &ui_table_row($text{'uedit_classes'},
                join(" , ", map { "<tt>$_</tt>" }
-                        $ginfo->get_value('objectClass')), 3);
+                        $ginfo->get_value('objectClass')));
         }
 
 # Group name
@@ -75,13 +75,22 @@ print &ui_table_row($text{'pass'},
                  [ 2, $text{'clear'},
                       &ui_textbox("pass", undef, 15) ] ]));
 
-# Group members, using multi-select
-print &ui_table_row($text{'gedit_members'},
-       &ui_multi_select("members",
-               [ map { [ $_, $_ ] } @members ],
-               [ map { [ $_->{'user'}, $_->{'user'} ] } @ulist ],
-               10, 1, 0,
-               $text{'gedit_allu'}, $text{'gedit_selu'}, 150));
+# Member chooser
+if ($config{'membox'} == 0) {
+       # Nicer left/right chooser
+       print &ui_table_row($text{'gedit_members'},
+               &ui_multi_select("members",
+                       [ map { [ $_, $_ ] } @members ],
+                       [ map { [ $_->{'user'}, $_->{'user'} ] } @ulist ],
+                       10, 1, 0,
+                       $text{'gedit_allu'}, $text{'gedit_selu'}, 150));
+       }
+else {
+       # Text box
+       print &ui_table_row($text{'gedit_members'},
+               &ui_textarea("members", join("\n", @members), 5, 30));
+       }
+
 print &ui_table_end();
 
 # Show extra fields (if any)
index 99208c5..9731421 100755 (executable)
@@ -120,7 +120,7 @@ else {
        }
 $in{'gid'} =~ /^[0-9]+$/ || &error(&text('gsave_egid', $in{'gid'}));
 $gid = $in{'gid'};
-@members = split(/\s+/, $in{members});
+@members = split(/\r?\n/, $in{members});
 if ($in{'new'} || $oldgroup ne $group) {
        # Check for collision
        defined(&all_getgrnam($group)) &&