Fix: just view non affected user and group

This commit is contained in:
Regis Houssin 2009-05-04 18:13:07 +00:00
parent c5f14cc782
commit 4759b06d2b
2 changed files with 81 additions and 25 deletions

View File

@ -1088,30 +1088,87 @@ else
print_fiche_titre($langs->trans("ListOfGroupsForUser"),'',''); print_fiche_titre($langs->trans("ListOfGroupsForUser"),'','');
// On selectionne les groups // On selectionne les groups
$uss = array(); $grouplistid = array();
$uss = array();
$sql = "SELECT ug.rowid, ug.nom "; $sql = "SELECT ug.fk_usergroup";
$sql.= " FROM ".MAIN_DB_PREFIX."usergroup as ug "; $sql.= " FROM ".MAIN_DB_PREFIX."usergroup_user as ug";
$sql.= " WHERE ug.entity IN (0,".$conf->entity.")"; $sql.= ", ".MAIN_DB_PREFIX."usergroup as u";
$sql.= " ORDER BY ug.nom"; $sql.= " WHERE ug.fk_user = ".$fuser->id;
$sql.= " AND ug.fk_usergroup = u.rowid";
$sql.= " AND u.entity IN (0,".$conf->entity.")";
$resql = $db->query($sql); $result = $db->query($sql);
if ($resql) if ($result)
{
$num = $db->num_rows($result);
$i = 0;
while ($i < $num)
{
$obj = $db->fetch_object($result);
$grouplistid[]=$obj->fk_usergroup;
$i++;
}
}
else {
dol_print_error($db);
}
$idList = implode(",",$grouplistid);
if (!empty($idList))
{
$sql = "SELECT ug.rowid, ug.nom ";
$sql.= " FROM ".MAIN_DB_PREFIX."usergroup as ug ";
$sql.= " WHERE ug.entity IN (0,".$conf->entity.")";
$sql.= " AND ug.rowid NOT IN (".$idList.")";
$sql.= " ORDER BY ug.nom";
$resql = $db->query($sql);
if ($resql)
{
$num = $db->num_rows($resql);
$i = 0;
while ($i < $num)
{
$obj = $db->fetch_object($resql);
$uss[$obj->rowid] = $obj->nom;
$i++;
}
}
else {
dol_print_error($db);
}
}
else
{ {
$num = $db->num_rows($resql); $sql = "SELECT ug.rowid, ug.nom ";
$i = 0; $sql.= " FROM ".MAIN_DB_PREFIX."usergroup as ug ";
$sql.= " WHERE ug.entity IN (0,".$conf->entity.")";
$sql.= " ORDER BY ug.nom";
while ($i < $num) $resql = $db->query($sql);
{ if ($resql)
$obj = $db->fetch_object($resql); {
$num = $db->num_rows($resql);
$i = 0;
$uss[$obj->rowid] = $obj->nom; while ($i < $num)
$i++; {
} $obj = $db->fetch_object($resql);
}
else { $uss[$obj->rowid] = $obj->nom;
dol_print_error($db); $i++;
} }
}
else {
dol_print_error($db);
}
}
$db->free($resql); $db->free($resql);
if ($caneditperms) if ($caneditperms)
@ -1120,7 +1177,6 @@ else
print '<form action="fiche.php?id='.$_GET["id"].'" method="post">'."\n"; print '<form action="fiche.php?id='.$_GET["id"].'" method="post">'."\n";
print '<input type="hidden" name="action" value="addgroup">'; print '<input type="hidden" name="action" value="addgroup">';
print '<table class="noborder" width="100%">'."\n"; print '<table class="noborder" width="100%">'."\n";
// print '<tr class="liste_titre"><td width="25%">'.$langs->trans("NonAffectedUsers").'</td>'."\n";
print '<tr class="liste_titre"><td class="liste_titre" width="25%">'.$langs->trans("GroupsToAdd").'</td>'."\n"; print '<tr class="liste_titre"><td class="liste_titre" width="25%">'.$langs->trans("GroupsToAdd").'</td>'."\n";
print '<td>'; print '<td>';
print $form->select_array("group",$uss); print $form->select_array("group",$uss);

View File

@ -293,7 +293,7 @@ else
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 // On salectionne les users qui ne sont pas deja dans le groupe
$userlistid = array(); $userlistid = array();
$uss = array(); $uss = array();