New: Ajout fonction editer groupe.
This commit is contained in:
parent
6278a051f9
commit
e496a9e8ce
@ -50,6 +50,10 @@ ShowGroup=Show group
|
|||||||
ShowUser=Show user
|
ShowUser=Show user
|
||||||
NonAffectedUsers=Non affected users
|
NonAffectedUsers=Non affected users
|
||||||
UserModified=User modified successfully
|
UserModified=User modified successfully
|
||||||
|
GroupModified=Group modified successfully
|
||||||
PhotoFile=Fichier photo
|
PhotoFile=Fichier photo
|
||||||
UserWithDolibarrAccess=User with Dolibarr access
|
UserWithDolibarrAccess=User with Dolibarr access
|
||||||
ListOfUsersInGroup=List of users in group
|
ListOfUsersInGroup=List of users in this group
|
||||||
|
ListOfGroupsForUser=List of groups for this user
|
||||||
|
UsersToAdd=Users to add to this group
|
||||||
|
GroupsToAdd=Groups to add to this user
|
||||||
@ -50,6 +50,10 @@ ShowGroup=Afficher groupe
|
|||||||
ShowUser=Afficher utilisateur
|
ShowUser=Afficher utilisateur
|
||||||
NonAffectedUsers=Utilisateurs non affectés au groupe
|
NonAffectedUsers=Utilisateurs non affectés au groupe
|
||||||
UserModified=Utilisateur modifié avec succès
|
UserModified=Utilisateur modifié avec succès
|
||||||
|
GroupModified=Groupe modifié avec succès
|
||||||
PhotoFile=Fichier photo
|
PhotoFile=Fichier photo
|
||||||
UserWithDolibarrAccess=Utilisateur avec accès Dolibarr
|
UserWithDolibarrAccess=Utilisateur avec accès Dolibarr
|
||||||
ListOfUsersInGroup=Liste des utilisateurs dans le groupe
|
ListOfUsersInGroup=Liste des utilisateurs dans ce groupe
|
||||||
|
ListOfGroupsForUser=Liste des groupes pour cet utilisateur
|
||||||
|
UsersToAdd=Utilisateur à ajouter à ce groupe
|
||||||
|
GroupsToAdd=Groupes à ajouter pour cet utilisateur
|
||||||
@ -22,7 +22,8 @@
|
|||||||
* $Source$
|
* $Source$
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/** \file htdocs/user/fiche.php
|
/**
|
||||||
|
\file htdocs/user/fiche.php
|
||||||
\brief Onglet user et permissions de la fiche utilisateur
|
\brief Onglet user et permissions de la fiche utilisateur
|
||||||
\version $Revision$
|
\version $Revision$
|
||||||
*/
|
*/
|
||||||
@ -75,7 +76,6 @@ if ($_POST["action"] == 'confirm_delete' && $_POST["confirm"] == "yes")
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Action ajout user
|
* Action ajout user
|
||||||
*/
|
*/
|
||||||
@ -128,6 +128,28 @@ if ($_POST["action"] == 'add' && $user->admin)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ($_POST["action"] == 'addgroup' && $user->admin)
|
||||||
|
{
|
||||||
|
if ($_POST["group"])
|
||||||
|
{
|
||||||
|
$edituser = new User($db, $_GET["id"]);
|
||||||
|
$edituser->SetInGroup($_POST["group"]);
|
||||||
|
|
||||||
|
Header("Location: fiche.php?id=".$_GET["id"]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($_GET["action"] == 'removegroup' && $user->admin)
|
||||||
|
{
|
||||||
|
if ($_GET["group"])
|
||||||
|
{
|
||||||
|
$edituser = new User($db, $_GET["id"]);
|
||||||
|
$edituser->RemoveFromGroup($_GET["group"]);
|
||||||
|
|
||||||
|
Header("Location: fiche.php?id=".$_GET["id"]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if ($_POST["action"] == 'update' && $user->admin)
|
if ($_POST["action"] == 'update' && $user->admin)
|
||||||
{
|
{
|
||||||
$message="";
|
$message="";
|
||||||
@ -194,7 +216,7 @@ if ($_GET["action"] == 'password' && $user->admin)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
llxHeader('','Fiche Utilisateur');
|
llxHeader('',$langs->trans("UserCard"));
|
||||||
|
|
||||||
if ($action == 'create')
|
if ($action == 'create')
|
||||||
{
|
{
|
||||||
@ -306,12 +328,12 @@ else
|
|||||||
$html->form_confirm("fiche.php?id=$fuser->id",$langs->trans("DeleteAUser"),$langs->trans("ConfirmDeleteUser",$fuser->login),"confirm_delete");
|
$html->form_confirm("fiche.php?id=$fuser->id",$langs->trans("DeleteAUser"),$langs->trans("ConfirmDeleteUser",$fuser->login),"confirm_delete");
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($_GET["action"] != 'edit')
|
|
||||||
{
|
|
||||||
/*
|
/*
|
||||||
* Fiche en mode visu
|
* Fiche en mode visu
|
||||||
*/
|
*/
|
||||||
|
if ($_GET["action"] != 'edit')
|
||||||
|
{
|
||||||
print '<table class="border" width="100%">';
|
print '<table class="border" width="100%">';
|
||||||
|
|
||||||
print '<tr><td width="25%" valign="top">'.$langs->trans("Lastname").'</td>';
|
print '<tr><td width="25%" valign="top">'.$langs->trans("Lastname").'</td>';
|
||||||
@ -394,7 +416,6 @@ else
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* Barre d'actions
|
* Barre d'actions
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
print '<div class="tabsAction">';
|
print '<div class="tabsAction">';
|
||||||
|
|
||||||
@ -421,6 +442,120 @@ else
|
|||||||
print "</div>\n";
|
print "</div>\n";
|
||||||
print "<br>\n";
|
print "<br>\n";
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Liste des groupes dans lequel est l'utilisateur
|
||||||
|
*/
|
||||||
|
|
||||||
|
print_titre($langs->trans("ListOfGroupsForUser"));
|
||||||
|
print "<br>\n";
|
||||||
|
|
||||||
|
// On sélectionne les groups
|
||||||
|
$uss = array();
|
||||||
|
|
||||||
|
$sql = "SELECT ug.rowid, ug.nom ";
|
||||||
|
$sql .= " FROM ".MAIN_DB_PREFIX."usergroup as ug ";
|
||||||
|
# $sql .= " LEFT JOIN llx_usergroup_user ug ON u.rowid = ug.fk_user";
|
||||||
|
# $sql .= " WHERE ug.fk_usergroup IS NULL";
|
||||||
|
$sql .= " ORDER BY ug.nom";
|
||||||
|
|
||||||
|
$result = $db->query($sql);
|
||||||
|
if ($result)
|
||||||
|
{
|
||||||
|
$num = $db->num_rows();
|
||||||
|
$i = 0;
|
||||||
|
|
||||||
|
while ($i < $num)
|
||||||
|
{
|
||||||
|
$obj = $db->fetch_object();
|
||||||
|
|
||||||
|
$uss[$obj->rowid] = $obj->nom;
|
||||||
|
$i++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
dolibarr_print_error($db);
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($user->admin)
|
||||||
|
{
|
||||||
|
$form = new Form($db);
|
||||||
|
print '<form action="fiche.php?id='.$_GET["id"].'" method="post">'."\n";
|
||||||
|
print '<input type="hidden" name="action" value="addgroup">';
|
||||||
|
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 width="25%">'.$langs->trans("GroupsToAdd").'</td>'."\n";
|
||||||
|
print '<td>';
|
||||||
|
print $form->select_array("group",$uss);
|
||||||
|
print ' ';
|
||||||
|
print '<input type="submit" class=button value="'.$langs->trans("Add").'">';
|
||||||
|
print '</td></tr>'."\n";
|
||||||
|
print '</table></form>'."\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Groupes affectés
|
||||||
|
*/
|
||||||
|
$sql = "SELECT g.rowid, g.nom ";
|
||||||
|
$sql .= " FROM ".MAIN_DB_PREFIX."usergroup as g";
|
||||||
|
$sql .= ",".MAIN_DB_PREFIX."usergroup_user as ug";
|
||||||
|
$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 '<br>';
|
||||||
|
|
||||||
|
print '<table class="noborder" width="100%">';
|
||||||
|
print '<tr class="liste_titre">';
|
||||||
|
print '<td width="25%">'.$langs->trans("Group").'</td>';
|
||||||
|
print "<td> </td></tr>\n";
|
||||||
|
|
||||||
|
if ($num) {
|
||||||
|
$var=True;
|
||||||
|
while ($i < $num)
|
||||||
|
{
|
||||||
|
$obj = $db->fetch_object($result);
|
||||||
|
$var=!$var;
|
||||||
|
|
||||||
|
print "<tr $bc[$var]>";
|
||||||
|
print '<td>';
|
||||||
|
print '<a href="'.DOL_URL_ROOT.'/user/group/fiche.php?id='.$obj->rowid.'">'.img_object($langs->trans("ShowGroup"),"group").' '.$obj->nom.'</a>';
|
||||||
|
print '</td>';
|
||||||
|
print '<td>';
|
||||||
|
|
||||||
|
if ($user->admin)
|
||||||
|
{
|
||||||
|
|
||||||
|
print '<a href="fiche.php?id='.$_GET["id"].'&action=removegroup&group='.$obj->rowid.'">';
|
||||||
|
print img_delete($langs->trans("RemoveFromGroup"));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
print "-";
|
||||||
|
}
|
||||||
|
print "</td></tr>\n";
|
||||||
|
$i++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
print '<tr><td colspan=2>'.$langs->trans("None").'</td></tr>';
|
||||||
|
}
|
||||||
|
print "</table>";
|
||||||
|
print "<br>";
|
||||||
|
$db->free($result);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
dolibarr_print_error($db);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -484,10 +619,9 @@ else
|
|||||||
|
|
||||||
print '</table><br>';
|
print '</table><br>';
|
||||||
print '</form>';
|
print '</form>';
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$db->close();
|
$db->close();
|
||||||
|
|||||||
@ -104,7 +104,32 @@ if ($_GET["action"] == 'removeuser' && $user->admin)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
llxHeader();
|
if ($_POST["action"] == 'update' && $user->admin)
|
||||||
|
{
|
||||||
|
$message="";
|
||||||
|
|
||||||
|
$db->begin();
|
||||||
|
|
||||||
|
$editgroup = new Usergroup($db, $_GET["id"]);
|
||||||
|
$editgroup->fetch($_GET["id"]);
|
||||||
|
|
||||||
|
$editgroup->nom = $_POST["group"];
|
||||||
|
$editgroup->note = $_POST["note"];
|
||||||
|
|
||||||
|
$ret=$editgroup->update();
|
||||||
|
|
||||||
|
if ($ret >= 0) {
|
||||||
|
$message.='<div class="ok">'.$langs->trans("GroupModified").'</div>';
|
||||||
|
$db->commit();
|
||||||
|
} else {
|
||||||
|
$message.='<div class="error">'.$editgroup->error.'</div>';
|
||||||
|
$db->rollback;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
llxHeader('',$langs->trans("GroupCard"));
|
||||||
|
|
||||||
|
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
@ -145,7 +170,7 @@ if ($action == 'create')
|
|||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if ($_GET["id"])
|
if ($_GET["id"] )
|
||||||
{
|
{
|
||||||
$group = new UserGroup($db);
|
$group = new UserGroup($db);
|
||||||
$group->fetch($_GET["id"]);
|
$group->fetch($_GET["id"]);
|
||||||
@ -182,6 +207,8 @@ else
|
|||||||
* Fiche en mode visu
|
* Fiche en mode visu
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
if ($_GET["action"] != 'edit') {
|
||||||
|
|
||||||
print '<table class="border" width="100%">';
|
print '<table class="border" width="100%">';
|
||||||
print '<tr><td width="25%" valign="top">'.$langs->trans("Name").'</td>';
|
print '<tr><td width="25%" valign="top">'.$langs->trans("Name").'</td>';
|
||||||
print '<td width="75%" class="valeur">'.$group->nom.'</td>';
|
print '<td width="75%" class="valeur">'.$group->nom.'</td>';
|
||||||
@ -192,7 +219,6 @@ else
|
|||||||
print "</table>\n";
|
print "</table>\n";
|
||||||
print "<br>\n";
|
print "<br>\n";
|
||||||
|
|
||||||
|
|
||||||
print '</div>';
|
print '</div>';
|
||||||
|
|
||||||
if ($message) { print $message; }
|
if ($message) { print $message; }
|
||||||
@ -216,13 +242,18 @@ else
|
|||||||
print "</div>\n";
|
print "</div>\n";
|
||||||
print "<br>\n";
|
print "<br>\n";
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Liste des utilisateurs dans le groupe
|
||||||
|
*/
|
||||||
|
|
||||||
print_titre($langs->trans("ListOfUsersInGroup"));
|
print_titre($langs->trans("ListOfUsersInGroup"));
|
||||||
print "<br>\n";
|
print "<br>\n";
|
||||||
|
|
||||||
// On sélectionne les users qui ne sont pas déjà dans le groupe
|
// On sélectionne les users qui ne sont pas déjà dans le groupe
|
||||||
$uss = array();
|
$uss = array();
|
||||||
|
|
||||||
$sql = "SELECT u.rowid, u.name, u.firstname, u.code ";
|
$sql = "SELECT u.rowid, u.login, u.name, u.firstname, u.code ";
|
||||||
$sql .= " FROM ".MAIN_DB_PREFIX."user as u ";
|
$sql .= " FROM ".MAIN_DB_PREFIX."user as u ";
|
||||||
# $sql .= " LEFT JOIN llx_usergroup_user ug ON u.rowid = ug.fk_user";
|
# $sql .= " LEFT JOIN llx_usergroup_user ug ON u.rowid = ug.fk_user";
|
||||||
# $sql .= " WHERE ug.fk_usergroup IS NULL";
|
# $sql .= " WHERE ug.fk_usergroup IS NULL";
|
||||||
@ -238,7 +269,7 @@ else
|
|||||||
{
|
{
|
||||||
$obj = $db->fetch_object();
|
$obj = $db->fetch_object();
|
||||||
|
|
||||||
$uss[$obj->rowid] = ucfirst(stripslashes($obj->firstname)) . " ".ucfirst(stripslashes($obj->name));
|
$uss[$obj->rowid] = ucfirst(stripslashes($obj->name)).' '.ucfirst(stripslashes($obj->firstname).' ('.$obj->login.')');
|
||||||
$i++;
|
$i++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -253,7 +284,7 @@ else
|
|||||||
print '<input type="hidden" name="action" value="adduser">';
|
print '<input type="hidden" name="action" value="adduser">';
|
||||||
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 width="25%">'.$langs->trans("NonAffectedUsers").'</td>'."\n";
|
||||||
print '<tr class="liste_titre"><td width="25%">'.$langs->trans("Users").'</td>'."\n";
|
print '<tr class="liste_titre"><td width="25%">'.$langs->trans("UsersToAdd").'</td>'."\n";
|
||||||
print '<td>';
|
print '<td>';
|
||||||
print $form->select_array("user",$uss);
|
print $form->select_array("user",$uss);
|
||||||
print ' ';
|
print ' ';
|
||||||
@ -287,6 +318,7 @@ else
|
|||||||
print '<td width="25%">'.$langs->trans("Firstname").'</td>';
|
print '<td width="25%">'.$langs->trans("Firstname").'</td>';
|
||||||
print '<td>'.$langs->trans("Code").'</td>';
|
print '<td>'.$langs->trans("Code").'</td>';
|
||||||
print "<td> </td></tr>\n";
|
print "<td> </td></tr>\n";
|
||||||
|
if ($num) {
|
||||||
$var=True;
|
$var=True;
|
||||||
while ($i < $num)
|
while ($i < $num)
|
||||||
{
|
{
|
||||||
@ -314,10 +346,44 @@ else
|
|||||||
print "</td></tr>\n";
|
print "</td></tr>\n";
|
||||||
$i++;
|
$i++;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
print '<tr><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
|
||||||
|
*/
|
||||||
|
if ($_GET["action"] == 'edit' && $user->admin)
|
||||||
|
{
|
||||||
|
print '<form action="fiche.php?id='.$group->id.'" method="post" name="updategroup" enctype="multipart/form-data">';
|
||||||
|
print '<input type="hidden" name="action" value="update">';
|
||||||
|
|
||||||
|
print '<table class="border" width="100%">';
|
||||||
|
print '<tr><td width="25%" valign="top">'.$langs->trans("Name").'</td>';
|
||||||
|
print '<td width="75%" class="valeur"><input size="12" maxlength="8" type="text" name="group" value="'.$group->nom.'"></td>';
|
||||||
|
print "</tr>\n";
|
||||||
|
print '<tr><td width="25%" valign="top">'.$langs->trans("Note").'</td>';
|
||||||
|
print '<td class="valeur"><textarea name="note" rows="12" cols="40">'.nl2br($group->note).'</textarea></td>';
|
||||||
|
print "</tr>\n";
|
||||||
|
print '<tr><td align="center" colspan="2"><input value="'.$langs->trans("Save").'" type="submit"></td></tr>';
|
||||||
|
print "</table>\n";
|
||||||
|
print "<br>\n";
|
||||||
|
print '</form>';
|
||||||
|
|
||||||
|
print '</div>';
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -37,7 +37,10 @@ class UserGroup
|
|||||||
var $db;
|
var $db;
|
||||||
|
|
||||||
var $id;
|
var $id;
|
||||||
var $label;
|
var $nom;
|
||||||
|
var $note;
|
||||||
|
var $datec;
|
||||||
|
var $datem;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -64,7 +67,7 @@ class UserGroup
|
|||||||
{
|
{
|
||||||
$this->id = $id;
|
$this->id = $id;
|
||||||
|
|
||||||
$sql = "SELECT g.rowid, g.nom, g.note";
|
$sql = "SELECT g.rowid, g.nom, g.note, g.datec, tms as datem";
|
||||||
$sql .= " FROM ".MAIN_DB_PREFIX."usergroup as g";
|
$sql .= " FROM ".MAIN_DB_PREFIX."usergroup as g";
|
||||||
$sql .= " WHERE g.rowid = ".$this->id;
|
$sql .= " WHERE g.rowid = ".$this->id;
|
||||||
|
|
||||||
@ -79,7 +82,8 @@ class UserGroup
|
|||||||
$this->id = $obj->rowid;
|
$this->id = $obj->rowid;
|
||||||
$this->nom = $obj->nom;
|
$this->nom = $obj->nom;
|
||||||
$this->note = $obj->note;
|
$this->note = $obj->note;
|
||||||
|
$this->datec = $obj->datec;
|
||||||
|
$this->datem = $obj->datem;
|
||||||
}
|
}
|
||||||
$this->db->free($result);
|
$this->db->free($result);
|
||||||
|
|
||||||
@ -344,6 +348,7 @@ class UserGroup
|
|||||||
function update()
|
function update()
|
||||||
{
|
{
|
||||||
$sql = "UPDATE ".MAIN_DB_PREFIX."usergroup SET ";
|
$sql = "UPDATE ".MAIN_DB_PREFIX."usergroup SET ";
|
||||||
|
$sql .= " nom = '$this->nom',";
|
||||||
$sql .= " note = '$this->note'";
|
$sql .= " note = '$this->note'";
|
||||||
$sql .= " WHERE rowid = ".$this->id;
|
$sql .= " WHERE rowid = ".$this->id;
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user