diff --git a/htdocs/user/group/fiche.php b/htdocs/user/group/fiche.php
index 8d679368501..771f97b7516 100644
--- a/htdocs/user/group/fiche.php
+++ b/htdocs/user/group/fiche.php
@@ -287,148 +287,206 @@ else
if ($message) { print $message."
"; }
+ /*
+ * Liste des utilisateurs dans le groupe
+ */
- /*
- * Liste des utilisateurs dans le groupe
- */
+ print_fiche_titre($langs->trans("ListOfUsersInGroup"),'','');
- print_fiche_titre($langs->trans("ListOfUsersInGroup"),'','');
+ // On sélectionne les users qui ne sont pas déjà dans le groupe
+ $userlistid = array();
+ $uss = array();
+
+ $sql = "SELECT ug.fk_user";
+ $sql.= " FROM ".MAIN_DB_PREFIX."usergroup_user as ug";
+ $sql.= ", ".MAIN_DB_PREFIX."user as u";
+ $sql.= " WHERE ug.fk_usergroup = ".$group->id;
+ $sql.= " AND ug.fk_user = u.rowid";
+ $sql.= " AND u.entity IN (0,".$conf->entity.")";
+
+ $result = $db->query($sql);
+ if ($result)
+ {
+ $num = $db->num_rows($result);
+ $i = 0;
+
+ while ($i < $num)
+ {
+ $obj = $db->fetch_object($result);
+
+ $userlistid[]=$obj->fk_user;
+ $i++;
+ }
+ }
+ else {
+ dol_print_error($db);
+ }
+
+ $idList = implode(",",$userlistid);
+
+ if (!empty($idList))
+ {
+ $sql = "SELECT u.rowid, u.login, u.name, u.firstname, u.admin";
+ $sql.= " FROM ".MAIN_DB_PREFIX."user as u";
+ $sql.= " WHERE u.entity IN (0,".$conf->entity.")";
+ $sql.= " AND u.rowid NOT IN (".$idList.")";
+ $sql.= " ORDER BY u.name";
+
+ $result = $db->query($sql);
+ if ($result)
+ {
+ $num = $db->num_rows($result);
+ $i = 0;
- // On sélectionne les users qui ne sont pas déjà dans le groupe
- $uss = array();
+ while ($i < $num)
+ {
+ $obj = $db->fetch_object($result);
- $sql = "SELECT u.rowid, u.login, u.name, u.firstname, u.admin";
- $sql.= " FROM ".MAIN_DB_PREFIX."user as u";
- $sql.= " WHERE u.entity IN (0,".$conf->entity.")";
- $sql.= " ORDER BY u.name";
+ $uss[$obj->rowid] = ucfirst(stripslashes($obj->name)).' '.ucfirst(stripslashes($obj->firstname));
+ if ($obj->login) $uss[$obj->rowid].=' ('.$obj->login.')';
+ $i++;
+ }
+ }
+ else {
+ dol_print_error($db);
+ }
+ }
+ else
+ {
+ $sql = "SELECT u.rowid, u.login, u.name, u.firstname, u.admin";
+ $sql.= " FROM ".MAIN_DB_PREFIX."user as u";
+ $sql.= " WHERE u.entity IN (0,".$conf->entity.")";
+ $sql.= " ORDER BY u.name";
+
+ $result = $db->query($sql);
+ if ($result)
+ {
+ $num = $db->num_rows($result);
+ $i = 0;
- $result = $db->query($sql);
- if ($result)
- {
- $num = $db->num_rows($result);
- $i = 0;
+ while ($i < $num)
+ {
+ $obj = $db->fetch_object($result);
- while ($i < $num)
- {
- $obj = $db->fetch_object($result);
+ $uss[$obj->rowid] = ucfirst(stripslashes($obj->name)).' '.ucfirst(stripslashes($obj->firstname));
+ if ($obj->login) $uss[$obj->rowid].=' ('.$obj->login.')';
+ $i++;
+ }
+ }
+ else {
+ dol_print_error($db);
+ }
+ }
- $uss[$obj->rowid] = ucfirst(stripslashes($obj->name)).' '.ucfirst(stripslashes($obj->firstname));
- if ($obj->login) $uss[$obj->rowid].=' ('.$obj->login.')';
- $i++;
- }
- }
- else {
- dol_print_error($db);
- }
+ if ($caneditperms)
+ {
+ $form = new Form($db);
+ print '
'."\n";
+ print '
';
+ }
- if ($caneditperms)
- {
- $form = new Form($db);
- print ''."\n";
- print '
';
- }
+ /*
+ * Membres du groupe
+ */
+ $sql = "SELECT u.rowid, u.login, u.name, u.firstname, u.admin, u.entity";
+ $sql.= " FROM ".MAIN_DB_PREFIX."user as u";
+ $sql.= ", ".MAIN_DB_PREFIX."usergroup_user as ug";
+ $sql.= " WHERE ug.fk_user = u.rowid";
+ $sql.= " AND ug.fk_usergroup = ".$group->id;
+ $sql.= " ORDER BY u.name";
- /*
- * Membres du groupe
- */
- $sql = "SELECT u.rowid, u.login, u.name, u.firstname, u.admin, u.entity";
- $sql.= " FROM ".MAIN_DB_PREFIX."user as u,";
- $sql.= " ".MAIN_DB_PREFIX."usergroup_user as ug";
- $sql.= " WHERE ug.fk_user = u.rowid";
- $sql.= " AND ug.fk_usergroup = ".$group->id;
- $sql.= " ORDER BY u.name";
+ $result = $db->query($sql);
+ if ($result)
+ {
+ $num = $db->num_rows($result);
+ $i = 0;
- $result = $db->query($sql);
- if ($result)
- {
- $num = $db->num_rows($result);
- $i = 0;
+ print '";
- print "
";
- $db->free($result);
- }
- else {
- dol_print_error($db);
- }
- }
+ /*
+ * Fiche en mode edition
+ */
+ if ($_GET["action"] == 'edit' && $caneditperms)
+ {
+ print '