Clarification du droit "consulter tous les clients"

This commit is contained in:
Laurent Destailleur 2007-01-25 21:31:30 +00:00
parent 4b7b8d0dbc
commit 47ea767c38
7 changed files with 22 additions and 11 deletions

View File

@ -73,7 +73,7 @@ if ($_GET['propalid'] > 0)
dolibarr_print_error($db,$propal->error);
exit;
}
if (!$user->rights->commercial->client->voir && $user->societe_id > 0 && $propal->socid <> $user->societe_id)
if ($user->societe_id > 0 && $propal->socid <> $user->societe_id)
accessforbidden();
}
@ -1741,7 +1741,8 @@ else
$pageprev = $page - 1;
$pagenext = $page + 1;
$sql = 'SELECT s.nom, s.idp, s.client, p.rowid as propalid, p.price, p.ref, p.fk_statut, '.$db->pdate('p.datep').' as dp,'.$db->pdate('p.fin_validite').' as dfv';
$sql = 'SELECT s.nom, s.idp, s.client, ';
$sql.= 'p.rowid as propalid, p.price, p.ref, p.fk_statut, '.$db->pdate('p.datep').' as dp,'.$db->pdate('p.fin_validite').' as dfv';
if (!$user->rights->commercial->client->voir && !$socid) $sql .= ", sc.fk_soc, sc.fk_user";
$sql.= ' FROM '.MAIN_DB_PREFIX.'societe as s, '.MAIN_DB_PREFIX.'propal as p';
if (!$user->rights->commercial->client->voir && !$socid) $sql .= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc";
@ -1790,7 +1791,7 @@ else
$sql .= ' ORDER BY '.$sortfield.' '.$sortorder.', p.ref DESC';
$sql .= $db->plimit($limit + 1,$offset);
$result=$db->query($sql);
print "xxx".$sql;
if ($result)
{
$num = $db->num_rows($result);

View File

@ -71,7 +71,7 @@ if ($_GET['propalid'] > 0)
dolibarr_print_error($db,$propal->error);
exit;
}
if (!$user->rights->commercial->client->voir && $user->societe_id > 0 && $propal->socid <> $user->societe_id)
if ($user->societe_id > 0 && $propal->socid <> $user->societe_id)
accessforbidden();
}

View File

@ -40,9 +40,6 @@ if (defined("FICHEINTER_ADDON") && is_readable(DOL_DOCUMENT_ROOT ."/includes/mod
$langs->load("companies");
$langs->load("interventions");
$user->getrights("ficheinter");
if (!$user->rights->ficheinter->lire) accessforbidden();
if ($_GET["socid"])
{
@ -51,6 +48,8 @@ if ($_GET["socid"])
}
// Sécurité accés client
$user->getrights("ficheinter");
if (!$user->rights->ficheinter->lire) accessforbidden();
if ($user->societe_id > 0)
{
$action = '';
@ -65,7 +64,7 @@ if ($_GET["id"])
dolibarr_print_error($db);
exit;
}
if (!$user->rights->commercial->client->voir && $user->societe_id > 0 && $fichinter->socid <> $user->societe_id) accessforbidden();
if ($user->societe_id > 0 && $fichinter->socid <> $user->societe_id) accessforbidden();
}

View File

@ -90,7 +90,7 @@ class modCommercial extends DolibarrModules
// 261 : Permission générale
$this->rights[$r][0] = 261;
$this->rights[$r][1] = 'Informations commerciales';
$this->rights[$r][1] = 'Consulter informations commerciales';
$this->rights[$r][2] = 'r';
$this->rights[$r][3] = 1;
$this->rights[$r][4] = 'main';
@ -99,7 +99,7 @@ class modCommercial extends DolibarrModules
// 262 : Resteindre l'accès des commerciaux
$this->rights[$r][0] = 262;
$this->rights[$r][1] = 'Consulter tous les clients';
$this->rights[$r][1] = 'Consulter tous les clients (effectifs pour utilisateurs internes uniquement)';
$this->rights[$r][2] = 'r';
$this->rights[$r][3] = 1;
$this->rights[$r][4] = 'client';

View File

@ -277,6 +277,8 @@ Permission253=Modify other users password
Permission254=Delete or disable other users
Permission255=Create/modify his own user information
Permission256=Modify his own password
Permission261=Read commercial informations
Permission262=Read all customers (Internal users only. Externals are always limited to themselves)
Permission281=Read contacts
Permission282=Create/modify contacts
Permission283=Delete contacts

View File

@ -276,6 +276,8 @@ Permission253=Modifier mot de passe des autres utilisateurs
Permission254=Supprimer ou désactiver les autres utilisateurs
Permission255=Créer/modifier ses propres infos utilisateur
Permission256=Modifier son propre mot de passe
Permission261=Consulter informations commerciales
Permission262=Consulter tous les clients (Utilisateurs internes uniquement. Externes restent limités à eux même)
Permission281=Consulter les contacts
Permission282=Créer/modifier les contacts
Permission283=Supprimer les contacts

View File

@ -128,7 +128,14 @@ if (isset($_POST["button_removefilter_x"]))
* Mode Liste
*
*/
/*
REM: Regle sur droits "Voir tous les clients"
REM: Exemple, voir la page societe.php dans le mode liste.
Utilisateur interne socid=0 + Droits voir tous clients => Voit toute société
Utilisateur interne socid=0 + Pas de droits voir tous clients => Ne voit que les sociétés liées comme commercial
Utilisateur externe socid=x + Droits voir tous clients => Ne voit que lui meme
Utilisateur externe socid=x + Pas de droits voir tous clients => Ne voit que lui meme
*/
$title=$langs->trans("ListOfThirdParties");
$sql = "SELECT s.idp, s.nom, s.ville, ".$db->pdate("s.datec")." as datec, ".$db->pdate("s.datea")." as datea";