Fix: Si on modifie des droits, on les recharge de suite
This commit is contained in:
parent
b3175036a8
commit
db98eac2bf
@ -231,7 +231,17 @@ if ($mil->fetch($_REQUEST["id"]) >= 0)
|
|||||||
print $modulename;
|
print $modulename;
|
||||||
print "</td>";
|
print "</td>";
|
||||||
*/
|
*/
|
||||||
print '<td align="center">'.($obj->getNbOfRecipients()).'</td>';
|
$nbofrecipient=$obj->getNbOfRecipients();
|
||||||
|
print '<td align="center">';
|
||||||
|
if ($nbofrecipient >= 0)
|
||||||
|
{
|
||||||
|
print $nbofrecipient;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
print $langs->trans("Error").' '.img_error($obj->error);
|
||||||
|
}
|
||||||
|
print '</td>';
|
||||||
|
|
||||||
print '<td align="center">';
|
print '<td align="center">';
|
||||||
$filter=$obj->formFilter();
|
$filter=$obj->formFilter();
|
||||||
|
|||||||
@ -435,7 +435,7 @@ class MenuLeft {
|
|||||||
|
|
||||||
if ($leftmenu=="ca") $newmenu->add(DOL_URL_ROOT."/compta/resultat/index.php?leftmenu=ca","Résultat / Exercice",1,$user->rights->compta->resultat->lire||$user->rights->comptaexpert->comptarapport->lire);
|
if ($leftmenu=="ca") $newmenu->add(DOL_URL_ROOT."/compta/resultat/index.php?leftmenu=ca","Résultat / Exercice",1,$user->rights->compta->resultat->lire||$user->rights->comptaexpert->comptarapport->lire);
|
||||||
if ($leftmenu=="ca") $newmenu->add_submenu(DOL_URL_ROOT."/compta/resultat/clientfourn.php?leftmenu=ca",$langs->trans("ByCompanies"),2,$user->rights->compta->resultat->lire||$user->rights->comptaexpert->comptarapport->lire);
|
if ($leftmenu=="ca") $newmenu->add_submenu(DOL_URL_ROOT."/compta/resultat/clientfourn.php?leftmenu=ca",$langs->trans("ByCompanies"),2,$user->rights->compta->resultat->lire||$user->rights->comptaexpert->comptarapport->lire);
|
||||||
/* On verra ca avec module compabilité
|
/* On verra ca avec module compabilit
|
||||||
if ($leftmenu=="ca") $newmenu->add_submenu(DOL_URL_ROOT."/compta/resultat/compteres.php?leftmenu=ca","Compte de résultat",2,$user->rights->compta->resultat->lire);
|
if ($leftmenu=="ca") $newmenu->add_submenu(DOL_URL_ROOT."/compta/resultat/compteres.php?leftmenu=ca","Compte de résultat",2,$user->rights->compta->resultat->lire);
|
||||||
if ($leftmenu=="ca") $newmenu->add_submenu(DOL_URL_ROOT."/compta/resultat/bilan.php?leftmenu=ca","Bilan",2,$user->rights->compta->resultat->lire);
|
if ($leftmenu=="ca") $newmenu->add_submenu(DOL_URL_ROOT."/compta/resultat/bilan.php?leftmenu=ca","Bilan",2,$user->rights->compta->resultat->lire);
|
||||||
*/
|
*/
|
||||||
@ -631,8 +631,12 @@ class MenuLeft {
|
|||||||
$newmenu->add(DOL_URL_ROOT."/adherents/index.php?leftmenu=accountancy&mainmenu=members",$langs->trans("Subscriptions"),0,$user->rights->adherent->cotisation->lire);
|
$newmenu->add(DOL_URL_ROOT."/adherents/index.php?leftmenu=accountancy&mainmenu=members",$langs->trans("Subscriptions"),0,$user->rights->adherent->cotisation->lire);
|
||||||
$newmenu->add_submenu(DOL_URL_ROOT."/adherents/liste.php?statut=-1,1&leftmenu=accountancy&mainmenu=members",$langs->trans("NewSubscription"),1,$user->rights->adherent->cotisation->creer);
|
$newmenu->add_submenu(DOL_URL_ROOT."/adherents/liste.php?statut=-1,1&leftmenu=accountancy&mainmenu=members",$langs->trans("NewSubscription"),1,$user->rights->adherent->cotisation->creer);
|
||||||
$newmenu->add_submenu(DOL_URL_ROOT."/adherents/cotisations.php?leftmenu=accountancy",$langs->trans("List"),1,$user->rights->adherent->cotisation->lire);
|
$newmenu->add_submenu(DOL_URL_ROOT."/adherents/cotisations.php?leftmenu=accountancy",$langs->trans("List"),1,$user->rights->adherent->cotisation->lire);
|
||||||
|
|
||||||
|
if ($conf->banque->enabled)
|
||||||
|
{
|
||||||
$langs->load("banks");
|
$langs->load("banks");
|
||||||
$newmenu->add_submenu(DOL_URL_ROOT."/compta/bank/index.php?leftmenu=accountancy",$langs->trans("Banks"),0,$user->rights->adherent->lire);
|
$newmenu->add_submenu(DOL_URL_ROOT."/compta/bank/index.php?leftmenu=accountancy",$langs->trans("Banks"),0,$user->rights->adherent->lire);
|
||||||
|
}
|
||||||
|
|
||||||
$newmenu->add(DOL_URL_ROOT."/adherents/index.php?leftmenu=export&mainmenu=members",$langs->trans("Exports"),0,$user->rights->adherent->export);
|
$newmenu->add(DOL_URL_ROOT."/adherents/index.php?leftmenu=export&mainmenu=members",$langs->trans("Exports"),0,$user->rights->adherent->export);
|
||||||
if ($conf->export->enabled && $leftmenu=="export") $newmenu->add_submenu(DOL_URL_ROOT."/exports/index.php?leftmenu=export",$langs->trans("Datas"),1,$user->rights->adherent->export);
|
if ($conf->export->enabled && $leftmenu=="export") $newmenu->add_submenu(DOL_URL_ROOT."/exports/index.php?leftmenu=export",$langs->trans("Datas"),1,$user->rights->adherent->export);
|
||||||
|
|||||||
@ -646,8 +646,12 @@ class MenuLeft {
|
|||||||
$newmenu->add(DOL_URL_ROOT."/adherents/index.php?leftmenu=accountancy&mainmenu=members",$langs->trans("Subscriptions"),0,$user->rights->adherent->cotisation->lire);
|
$newmenu->add(DOL_URL_ROOT."/adherents/index.php?leftmenu=accountancy&mainmenu=members",$langs->trans("Subscriptions"),0,$user->rights->adherent->cotisation->lire);
|
||||||
$newmenu->add_submenu(DOL_URL_ROOT."/adherents/liste.php?statut=-1,1&leftmenu=accountancy&mainmenu=members",$langs->trans("NewSubscription"),1,$user->rights->adherent->cotisation->creer);
|
$newmenu->add_submenu(DOL_URL_ROOT."/adherents/liste.php?statut=-1,1&leftmenu=accountancy&mainmenu=members",$langs->trans("NewSubscription"),1,$user->rights->adherent->cotisation->creer);
|
||||||
$newmenu->add_submenu(DOL_URL_ROOT."/adherents/cotisations.php?leftmenu=accountancy",$langs->trans("List"),1,$user->rights->adherent->cotisation->lire);
|
$newmenu->add_submenu(DOL_URL_ROOT."/adherents/cotisations.php?leftmenu=accountancy",$langs->trans("List"),1,$user->rights->adherent->cotisation->lire);
|
||||||
|
|
||||||
|
if ($conf->banque->enabled)
|
||||||
|
{
|
||||||
$langs->load("banks");
|
$langs->load("banks");
|
||||||
$newmenu->add_submenu(DOL_URL_ROOT."/compta/bank/index.php?leftmenu=accountancy",$langs->trans("Banks"),0,$user->rights->adherent->lire);
|
$newmenu->add_submenu(DOL_URL_ROOT."/compta/bank/index.php?leftmenu=accountancy",$langs->trans("Banks"),0,$user->rights->adherent->lire);
|
||||||
|
}
|
||||||
|
|
||||||
$newmenu->add(DOL_URL_ROOT."/adherents/index.php?leftmenu=export&mainmenu=members",$langs->trans("Export"),0,$user->rights->adherent->export);
|
$newmenu->add(DOL_URL_ROOT."/adherents/index.php?leftmenu=export&mainmenu=members",$langs->trans("Export"),0,$user->rights->adherent->export);
|
||||||
if ($conf->export->enabled && $leftmenu=="export") $newmenu->add_submenu(DOL_URL_ROOT."/exports/index.php?leftmenu=export",$langs->trans("Datas"),1,$user->rights->adherent->export);
|
if ($conf->export->enabled && $leftmenu=="export") $newmenu->add_submenu(DOL_URL_ROOT."/exports/index.php?leftmenu=export",$langs->trans("Datas"),1,$user->rights->adherent->export);
|
||||||
|
|||||||
@ -81,6 +81,7 @@ class MailingTargets
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
$this->error=$this->db->error();
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -59,7 +59,7 @@ function ldap_prepare_head()
|
|||||||
$h++;
|
$h++;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($conf->global->LDAP_CONTACT_ACTIVE)
|
if ($conf->societe->enabled && $conf->global->LDAP_CONTACT_ACTIVE)
|
||||||
{
|
{
|
||||||
$head[$h][0] = DOL_URL_ROOT."/admin/ldap_contacts.php";
|
$head[$h][0] = DOL_URL_ROOT."/admin/ldap_contacts.php";
|
||||||
$head[$h][1] = $langs->trans("LDAPContactsSynchro");
|
$head[$h][1] = $langs->trans("LDAPContactsSynchro");
|
||||||
@ -67,7 +67,7 @@ function ldap_prepare_head()
|
|||||||
$h++;
|
$h++;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($conf->global->LDAP_MEMBER_ACTIVE)
|
if ($conf->adherent->enabled && $conf->global->LDAP_MEMBER_ACTIVE)
|
||||||
{
|
{
|
||||||
$head[$h][0] = DOL_URL_ROOT."/admin/ldap_members.php";
|
$head[$h][0] = DOL_URL_ROOT."/admin/ldap_members.php";
|
||||||
$head[$h][1] = $langs->trans("LDAPMembersSynchro");
|
$head[$h][1] = $langs->trans("LDAPMembersSynchro");
|
||||||
|
|||||||
@ -277,18 +277,20 @@ class User
|
|||||||
if ($perms) $whereforadd.=" OR (module='$module' AND perms='lire' AND subperms IS NULL)";
|
if ($perms) $whereforadd.=" OR (module='$module' AND perms='lire' AND subperms IS NULL)";
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
// On a pas demandé un droit en particulier mais une liste de droits
|
||||||
|
// sur la base d'un nom de module de de perms
|
||||||
// Where pour la liste des droits à ajouter
|
// Where pour la liste des droits à ajouter
|
||||||
if ($allmodule) $whereforadd="module='$allmodule'";
|
if ($allmodule) $whereforadd="module='$allmodule'";
|
||||||
if ($allperms) $whereforadd=" AND perms='$allperms'";
|
if ($allperms) $whereforadd=" AND perms='$allperms'";
|
||||||
}
|
}
|
||||||
|
|
||||||
// Ajout des droits de la liste whereforadd
|
// Ajout des droits trouvés grace au critere whereforadd
|
||||||
if ($whereforadd)
|
if ($whereforadd)
|
||||||
{
|
{
|
||||||
//print "$module-$perms-$subperms";
|
//print "$module-$perms-$subperms";
|
||||||
$sql = "SELECT id";
|
$sql = "SELECT id";
|
||||||
$sql.= " FROM ".MAIN_DB_PREFIX."rights_def";
|
$sql.= " FROM ".MAIN_DB_PREFIX."rights_def";
|
||||||
$sql.= " WHERE $whereforadd";
|
$sql.= " WHERE ".$whereforadd;
|
||||||
|
|
||||||
$result=$this->db->query($sql);
|
$result=$this->db->query($sql);
|
||||||
if ($result)
|
if ($result)
|
||||||
@ -369,12 +371,13 @@ class User
|
|||||||
if ($perms=='lire') $wherefordel.=" OR (module='$module')";
|
if ($perms=='lire') $wherefordel.=" OR (module='$module')";
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
// On a demandé suppression d'un droit sur la base d'un nom de module ou perms
|
||||||
// Where pour la liste des droits à supprimer
|
// Where pour la liste des droits à supprimer
|
||||||
if ($allmodule) $wherefordel="module='$allmodule'";
|
if ($allmodule) $wherefordel="module='$allmodule'";
|
||||||
if ($allperms) $wherefordel=" AND perms='$allperms'";
|
if ($allperms) $wherefordel=" AND perms='$allperms'";
|
||||||
}
|
}
|
||||||
|
|
||||||
// Suppression des droits de la liste wherefordel
|
// Suppression des droits selon critere defini dans wherefordel
|
||||||
if ($wherefordel)
|
if ($wherefordel)
|
||||||
{
|
{
|
||||||
//print "$module-$perms-$subperms";
|
//print "$module-$perms-$subperms";
|
||||||
@ -416,6 +419,17 @@ class User
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \brief Vide la tableau des droits de l'utilisateur
|
||||||
|
*/
|
||||||
|
function clearrights()
|
||||||
|
{
|
||||||
|
$this->rights='';
|
||||||
|
$this->all_permissions_are_loaded=false;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief Charge dans l'objet user, la liste des permissions auxquelles l'utilisateur a droit
|
* \brief Charge dans l'objet user, la liste des permissions auxquelles l'utilisateur a droit
|
||||||
* \param module nom du module dont il faut récupérer les droits ('' par defaut signifie tous les droits)
|
* \param module nom du module dont il faut récupérer les droits ('' par defaut signifie tous les droits)
|
||||||
@ -435,6 +449,7 @@ class User
|
|||||||
$sql .= " FROM ".MAIN_DB_PREFIX."user_rights as ur, ".MAIN_DB_PREFIX."rights_def as r";
|
$sql .= " FROM ".MAIN_DB_PREFIX."user_rights as ur, ".MAIN_DB_PREFIX."rights_def as r";
|
||||||
$sql .= " WHERE r.id = ur.fk_id AND ur.fk_user= ".$this->id." AND r.perms IS NOT NULL";
|
$sql .= " WHERE r.id = ur.fk_id AND ur.fk_user= ".$this->id." AND r.perms IS NOT NULL";
|
||||||
|
|
||||||
|
dolibarr_syslog('User.class::getrights this->id='.$this->id.' module='.$module);
|
||||||
$result = $this->db->query($sql);
|
$result = $this->db->query($sql);
|
||||||
if ($result)
|
if ($result)
|
||||||
{
|
{
|
||||||
|
|||||||
@ -33,11 +33,13 @@ require_once(DOL_DOCUMENT_ROOT."/lib/usergroups.lib.php");
|
|||||||
|
|
||||||
$langs->load("users");
|
$langs->load("users");
|
||||||
|
|
||||||
|
|
||||||
$form = new Form($db);
|
$form = new Form($db);
|
||||||
|
|
||||||
$module=isset($_GET["module"])?$_GET["module"]:$_POST["module"];
|
$module=isset($_GET["module"])?$_GET["module"]:$_POST["module"];
|
||||||
|
|
||||||
|
if (! isset($_GET["id"])) access_forbidden();
|
||||||
|
|
||||||
|
|
||||||
// Defini si peux modifier utilisateurs et permisssions
|
// Defini si peux modifier utilisateurs et permisssions
|
||||||
$caneditperms=($user->admin || $user->rights->user->user->creer);
|
$caneditperms=($user->admin || $user->rights->user->user->creer);
|
||||||
|
|
||||||
@ -50,13 +52,28 @@ if ($_GET["action"] == 'addrights' && $caneditperms)
|
|||||||
{
|
{
|
||||||
$edituser = new User($db,$_GET["id"]);
|
$edituser = new User($db,$_GET["id"]);
|
||||||
$edituser->addrights($_GET["rights"],$module);
|
$edituser->addrights($_GET["rights"],$module);
|
||||||
|
|
||||||
|
// Si on a touché à ces propres droits, on recharge
|
||||||
|
if ($_GET["id"] == $user->id)
|
||||||
|
{
|
||||||
|
$user->clearrights();
|
||||||
|
$user->getrights();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($_GET["action"] == 'delrights' && $caneditperms)
|
if ($_GET["action"] == 'delrights' && $caneditperms)
|
||||||
{
|
{
|
||||||
$edituser = new User($db,$_GET["id"]);
|
$edituser = new User($db,$_GET["id"]);
|
||||||
$edituser->delrights($_GET["rights"],$module);
|
$edituser->delrights($_GET["rights"],$module);
|
||||||
|
|
||||||
|
// Si on a touché à ces propres droits, on recharge
|
||||||
|
if ($_GET["id"] == $user->id)
|
||||||
|
{
|
||||||
|
$user->clearrights();
|
||||||
|
$user->getrights();
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -69,8 +86,6 @@ llxHeader('',$langs->trans("Permissions"));
|
|||||||
/* */
|
/* */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
|
|
||||||
if ($_GET["id"])
|
|
||||||
{
|
|
||||||
$fuser = new User($db, $_GET["id"]);
|
$fuser = new User($db, $_GET["id"]);
|
||||||
$fuser->fetch();
|
$fuser->fetch();
|
||||||
$fuser->getrights();
|
$fuser->getrights();
|
||||||
@ -281,7 +296,6 @@ if ($_GET["id"])
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
print '</table>';
|
print '</table>';
|
||||||
}
|
|
||||||
|
|
||||||
$db->close();
|
$db->close();
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user