J'ai du mal à comprendre le fonctionnement lié au profil superviseur, je m'explique.
Si je ne souhaite utiliser que 3 profils : technicien, superviseur, adminitstrateur
et que je configure les droits de façon à ce que tous le monde puisse voir tous les tickets,
bien que les droits sur les superviseurs soient identiques à ceux des administrateurs, à l'exception d'un accès limité à certains menu de la section administration,
je constate que les superviseurs ne voient pas les memes tickets que les administrateurs (dans la liste des tickets "nouveaux" par exemple... )
Par contre les techniciens, voient bien tous les tickets... étrange.
J'ai cherché à comprendre, et je constate que la requete qui est lancée est différente pour les superviseurs et les admins :
selon le profil on a
Code : Tout sélectionner
tincidents.user LIKE '0' AND
tincidents.technician LIKE '%' AND
Code : Tout sélectionner
tincidents.user LIKE '%' AND
tincidents.technician LIKE '0' AND
Code : Tout sélectionner
//if admin user
if($_SESSION['profile_id']==0 || $_SESSION['profile_id']==4)
{
if($_POST['technician']=='') $_POST['technician']= $_GET['userid'];
if($_POST['user']=='') $_POST['user']= '%';
} else {
if($_POST['user']=='') $_POST['user']= $_GET['userid'];
if($_POST['technician']=='') $_POST['technician']= '%';
}
Donc ce code dit : si tuser a un niveau admin ou technicien alors... sinon ...
Pourtant le commentaire indique "if admin user"
Je me demande si c'est bien ce qu'il etait prévu de faire, et je n'en comprend pas le sens : pourquoi considérer les admins et les techniciens de façon identique ?
NB : le $_SESSION['profile_id'] est setté dans index.php (ligne 169)
Code : Tout sélectionner
//find profile id of connected user
$qprofile=$db->query("SELECT profile FROM tusers WHERE id LIKE $uid");
$_SESSION['profile_id']=$qprofile->fetch();
$qprofile->closeCursor();
$_SESSION['profile_id']=$_SESSION['profile_id'][0];