Add function listOfGroupForUser

This commit is contained in:
Laurent Destailleur 2008-08-28 12:08:02 +00:00
parent 9b89360f91
commit cceb0e1b11

View File

@ -28,6 +28,8 @@
*/ */
require("./pre.inc.php"); require("./pre.inc.php");
require_once(DOL_DOCUMENT_ROOT."/user.class.php");
require_once(DOL_DOCUMENT_ROOT."/usergroup.class.php");
require_once(DOL_DOCUMENT_ROOT."/contact.class.php"); require_once(DOL_DOCUMENT_ROOT."/contact.class.php");
require_once(DOL_DOCUMENT_ROOT."/lib/usergroups.lib.php"); require_once(DOL_DOCUMENT_ROOT."/lib/usergroups.lib.php");
if ($conf->ldap->enabled) require_once(DOL_DOCUMENT_ROOT."/lib/ldap.class.php"); if ($conf->ldap->enabled) require_once(DOL_DOCUMENT_ROOT."/lib/ldap.class.php");
@ -1115,52 +1117,46 @@ else
/* /*
* Groupes affectes * Groupes affectes
*/ */
$sql = "SELECT g.rowid, g.nom "; $usergroup=new UserGroup($db);
$sql .= " FROM ".MAIN_DB_PREFIX."usergroup as g"; $listofgroups=$usergroup->listGroupsForUser($fuser);
$sql .= ",".MAIN_DB_PREFIX."usergroup_user as ug"; $num=sizeof($listofgroups);
$sql .= " WHERE ug.fk_usergroup = g.rowid";
$sql .= " AND ug.fk_user = ".$_GET["id"];
$sql .= " ORDER BY g.nom";
$result = $db->query($sql);
if ($result)
{
$num = $db->num_rows($result);
$i = 0;
print '<table class="noborder" width="100%">'; print '<table class="noborder" width="100%">';
print '<tr class="liste_titre">'; print '<tr class="liste_titre">';
print '<td class="liste_titre" width="25%">'.$langs->trans("Group").'</td>'; print '<td class="liste_titre" width="25%">'.$langs->trans("Groups").'</td>';
print "<td>&nbsp;</td></tr>\n"; print "<td>&nbsp;</td></tr>\n";
if ($num) { if ($num > 0)
$var=True; {
$i = 0;
$var=true;
while ($i < $num) while ($i < $num)
{ {
$obj = $db->fetch_object($result); $group = $listofgroups[$i];
$var=!$var; $var=!$var;
print "<tr $bc[$var]>"; print "<tr ".$bc[$var].">";
print '<td>'; print '<td>';
if ($canreadperms) if ($canreadperms)
{ {
print '<a href="'.DOL_URL_ROOT.'/user/group/fiche.php?id='.$obj->rowid.'">'.img_object($langs->trans("ShowGroup"),"group").' '.$obj->nom.'</a>'; print '<a href="'.DOL_URL_ROOT.'/user/group/fiche.php?id='.$group->id.'">'.img_object($langs->trans("ShowGroup"),"group").' '.$group->nom.'</a>';
} }
else else
{ {
print img_object($langs->trans("ShowGroup"),"group").' '.$obj->nom; print img_object($langs->trans("ShowGroup"),"group").' '.$group->nom;
} }
print '</td>'; print '</td>';
print '<td>'; print '<td align="right">';
if ($caneditperms) if ($caneditperms)
{ {
print '<a href="fiche.php?id='.$_GET["id"].'&amp;action=removegroup&amp;group='.$obj->rowid.'">'; print '<a href="fiche.php?id='.$_GET["id"].'&amp;action=removegroup&amp;group='.$group->id.'">';
print img_delete($langs->trans("RemoveFromGroup")); print img_delete($langs->trans("RemoveFromGroup"));
} }
else else
{ {
print "-"; print "&nbsp;";
} }
print "</td></tr>\n"; print "</td></tr>\n";
$i++; $i++;
@ -1168,17 +1164,13 @@ else
} }
else else
{ {
print '<tr><td colspan=2>'.$langs->trans("None").'</td></tr>'; print '<tr '.$bc[false].'><td colspan=2>'.$langs->trans("None").'</td></tr>';
} }
print "</table>"; print "</table>";
print "<br>"; print "<br>";
$db->free($result); $db->free($result);
} }
else {
dolibarr_print_error($db);
}
}
/* /*
* Fiche en mode edition * Fiche en mode edition