[Corrigé 3.1.41] Droit - Affiche les superviseurs/Administrateurs dans la liste des techniciens sur un ticket

Vous avez trouvé un bug dans l'application (dernière version stable ou bêta): Décrivez le ici afin que la correction soit intégrée a la prochaine version.
Répondre
JoshuaSign_
Gsup LEVEL 1
Messages : 19
Enregistré le : lun. 6 mai 2019 16:17

Bonjour,

Il me semble que ces droits ne peuvent pas fonctionner de façon exclusive et indépendante :
- Affiche les administrateurs dans la liste des techniciens sur un ticket
- Affiche les superviseurs dans la liste des techniciens sur un ticket

Je m'explique :
- pour le premier on s'attend à ce que si on donne ce droit, alors les admin seront présentés dans la liste des techniciens, mais pas les superviseurs : c'est bien le cas.
- pour le second on s'attend à ce que si on donne ce droit, alors les superviseurs seront présentés dans la liste des techniciens, mais pas les administrateurs : ce n'est pas le cas.

Du coup on ne peut pas avoir les "techniciens + superviseurs" sans admins dans la liste des techniciens, est c'est bien dommage.

Notre approche est d'avoir un admin systeme, qui ne s'occupe pas de résoudre les tickets mais seulement de faire de la maintenance applicative sur GestSup (création des listes, mises à jours, gestion des droits, etc...)
Et des supperviseurs qui ont le role de chef de services/équipes.

J'ai donc effectuée cette petite modification afin d'obtenir "le meilleur des 2 mondes" :
ticket.php - ligne 500 (environs)

Code : Tout sélectionner

<?php
//filter is service is send for technicians
if($rparameters['user_limit_service']==1 && $rright['dashboard_service_only']!=0) { //case for user who open ticket to auto-select categories of the service
        if($_POST['u_service']) {$where_service=$_POST['u_service'];} else {$where_service=$globalrow['u_service'];}
        if ($rright['ticket_tech_super']!=0 && $rright['ticket_tech_admin']!=0) { //display supervisor and admin in technician list
                $query="SELECT * FROM `tusers` WHERE (profile='0' || profile='4' || profile='3') AND ( id IN (SELECT user_id FROM tusers_services WHERE service_id=$where_service)) OR id='0' ORDER BY lastname ASC, firstname ASC";
        } elseif ($rright['ticket_tech_super']!=0)  { //display technician and supervisor in technician list
                $query="SELECT * FROM `tusers` WHERE (profile='0' || profile='3') AND ( id IN (SELECT user_id FROM tusers_services WHERE service_id=$where_service)) OR id='0' ORDER BY lastname ASC, firstname ASC";
        } elseif ($rright['ticket_tech_admin']!=0)  { //display technician and admin in technician list
                $query="SELECT * FROM `tusers` WHERE (profile='0' || profile='4') AND ( id IN (SELECT user_id FROM tusers_services WHERE service_id=$where_service)) OR id='0' ORDER BY lastname ASC, firstname ASC";
        } else { //display only technician in technician list
                $query="SELECT * FROM `tusers` WHERE profile='0' AND ( id IN (SELECT user_id FROM tusers_services WHERE service_id=$where_service)) OR id='0' ORDER BY lastname ASC, firstname ASC";
        }
} else {
        //display technician and admin in technician list
        if ($rright['ticket_tech_super']!=0 && $rright['ticket_tech_admin']!=0) { // supervisor, admin, technician
                $query = "SELECT * FROM `tusers` WHERE (profile='0' || profile='4' || profile='3') OR id=0 ORDER BY lastname ASC, firstname ASC" ;
        } elseif ($rright['ticket_tech_super']!=0) { // supervisor and technician
                $query = "SELECT * FROM `tusers` WHERE (profile='0' || profile='3') OR id=0 ORDER BY lastname ASC, firstname ASC" ;
        } elseif ($rright['ticket_tech_admin']!=0) { // admin and technician
                $query = "SELECT * FROM `tusers` WHERE (profile='0' || profile='4') OR id=0 ORDER BY lastname ASC, firstname ASC" ;
        } else {
                $query="SELECT * FROM `tusers` WHERE profile='0' OR id='0' ORDER BY lastname ASC, firstname ASC";
        }
                                                                        }
}
Avatar du membre
Flox
Administrateur du site
Messages : 9030
Enregistré le : jeu. 21 juin 2012 19:00

Bonjour,

merci pour votre contribution la modification sera disponible dans la prochaine version.

Cdt
GestSup: 3.2.47 | Debian: 12 | Apache: 2.4.58 | MariaDB: 11.3.2 | PHP: 8.3.6 | https://doc.gestsup.fr/
Répondre