You are not logged in.

Announcement

 Téléchargez la dernière version stable de GLPI      -     Et vous, que pouvez vous faire pour le projet GLPI ? :  Contribuer
 Download last stable version of GLPI                      -     What can you do for GLPI ? :  Contribute

#1 2012-08-13 11:03:44

pchauvin
Member
Registered: 2009-01-12
Posts: 313

suppression des validations par post-only ..!

Bonjour,

sous la version 0.83, je constate qu'un utilisateur post-only a le droit de supprimer les demandes de validation effectuée dans ses tickets. Ce n'était pas le cas avec le plugin validation.

Je souhaiterai que l'utilisateur puisse, à la rigueur, supprimer des demandes de validation qu'il aurait émises et qui ne serait pas encore traitées.
Mais dans tous les autres cas, que cela lui soit interdit.
Mais il n'y a pas de droit spécifique dans la fiche du profil.
Serait-ce possible de rajouter la gestion de ce droit? Ou au pire, aligner ce droit à celui de la suppression des suivis?

C'est un réel problème dans l'utilisation que nous faisons de GLPI. Chez nous, les validations par un N+1 sont absolument nécessaires avant le traitement du ticket et nous servent de base à nos audits annuel.

Merci par avance


GLPI 0.90.3 - MySql 5.5.46-0 - Apache 2.4.10 - Debian 8u1

Offline

#2 2012-08-14 16:50:52

yllen
GLPI-DEV
From: Sillery (51)
Registered: 2008-01-14
Posts: 15,278

Re: suppression des validations par post-only ..!

Proposition de correction : https://forge.indepnet.net/projects/glp … ions/19098

Maintenant, il faut avoir le droit de faire une demande de validation mais pas celle de valider et que la demande ait été faite par la personne connectée.
Cela empêchera n'importe qui de supprimer une demande de validation tout en laissant cette possibilité au superviseur.


CentOS 6.5 - CentOS 7.x
PHP 5.6 - PHP 7.x - MySQL 5.6  - MariaDB 10.2 + APC + oOPcache
GLPI from 0.72 to dev version
Certifiée ITIL (ITV2F, ITILF, ITILOSA)

Offline

#3 2012-08-14 17:17:04

pchauvin
Member
Registered: 2009-01-12
Posts: 313

Re: suppression des validations par post-only ..!

Merci yllen,

si j'ai bien compris, avec cette modif, l'ensemble de ces conditions doivent être réunis pour pouvoir purger une demande de validation:
- avoir le droit de faire une demande de validation
- ne pas avoir le droit de valider
- être l'utilisateur qui a émis la demande de validation.

Le soucis, c'est que dans notre cas, tout le monde a le droit de faire une demande ET de valider (N+1, responsable fonctionnel, propriétaire de dossier sur le réseau etc....)

Donc, te serait-il possible de n'autoriser la purge d'une demande de validation que si ces critères sont réunis:
- avoir le droit de faire une demande de validation
- avoir le droit de valider une demande
- être l'utilisateur qui a émis la demande de validation.
- la demande ne doit pas avoir encore été traitée.

Le top bien évidemment serait d'avoir la main sur un droit "supprimer les demandes de validation" dans le profil...


GLPI 0.90.3 - MySql 5.5.46-0 - Apache 2.4.10 - Debian 8u1

Offline

#4 2012-08-17 12:58:02

yllen
GLPI-DEV
From: Sillery (51)
Registered: 2008-01-14
Posts: 15,278

Re: suppression des validations par post-only ..!

Effectivement, ce droit manquant dans GLPI "supprimer les demandes de validation" sera présent dans la prochaine version majeure (0.84).

Concernant la 0.83.4, j'essayais de trouver une solution afin que le superviseur de la plateforme puisse lui supprimer une demande de validation injustifiée.
Donc, je pense que je vais me limiter à l'utilisateur ayant créé la demande.


CentOS 6.5 - CentOS 7.x
PHP 5.6 - PHP 7.x - MySQL 5.6  - MariaDB 10.2 + APC + oOPcache
GLPI from 0.72 to dev version
Certifiée ITIL (ITV2F, ITILF, ITILOSA)

Offline

#5 2012-08-20 14:14:30

pchauvin
Member
Registered: 2009-01-12
Posts: 313

Re: suppression des validations par post-only ..!

OK. Tu vas donc faire une nouvelle modif pour la 0.83.4 c'est bien ça?
Si oui, j'attend que tu la mettes en ligne pour pouvoir la tester.

Merci de ton support.


GLPI 0.90.3 - MySql 5.5.46-0 - Apache 2.4.10 - Debian 8u1

Offline

#6 2012-08-20 16:59:02

pchauvin
Member
Registered: 2009-01-12
Posts: 313

Re: suppression des validations par post-only ..!

Je me suis penché sur le code de ta fonction et me suis lancé dans quelques modif pour voir.
J'obtient le résultat que j'attendai.

Voici le code. Qu'en penses-tu? Est-ce jouable de l'intégrer dans la 0.83.4?

 function canDeleteItem() {

      If (($_SESSION['glpiactiveprofile']['name']=="super-admin")||
        (($this->fields["users_id"] == Session::getLoginUserID())
                && Session::haveRight('validate_ticket', 1)
                        && ($this->fields["status"] == "waiting"))) {
         return true;
      }
      return false;
   }

GLPI 0.90.3 - MySql 5.5.46-0 - Apache 2.4.10 - Debian 8u1

Offline

#7 2012-08-20 17:04:28

pchauvin
Member
Registered: 2009-01-12
Posts: 313

Re: suppression des validations par post-only ..!

J'ai également modifié la fonction canUpdateItem() car je ne veux pas qu'une validation déjà traitée puisse être modifiée. Cela, toujours dans le cadre de nos audits, pourrait donner des résultats du genre: "un ticket a été traité alors que la demande de validation apparait refusée alors qu'elle avait dans un premier temps été acceptée".

Ca donne donc ça:

function canUpdateItem() {
     If (Session::haveRight('create_validation', 1)
          && ($this->fields["users_id_validate"] == Session::getLoginUserID())
                && ($this->fields["status"] == "waiting")) {
         return true;

      }

      return false;
   }

Là encore, qu'en penses-tu? Peux-t'on intégrer cette modif à la 0.83.4?

Merci


GLPI 0.90.3 - MySql 5.5.46-0 - Apache 2.4.10 - Debian 8u1

Offline

#8 2012-08-21 12:38:14

yllen
GLPI-DEV
From: Sillery (51)
Registered: 2008-01-14
Posts: 15,278

Re: suppression des validations par post-only ..!

pchauvin wrote:

Je me suis penché sur le code de ta fonction et me suis lancé dans quelques modif pour voir.
J'obtient le résultat que j'attendai.

Voici le code. Qu'en penses-tu? Est-ce jouable de l'intégrer dans la 0.83.4?

 function canDeleteItem() {

      If (($_SESSION['glpiactiveprofile']['name']=="super-admin")||
        (($this->fields["users_id"] == Session::getLoginUserID())
                && Session::haveRight('validate_ticket', 1)
                        && ($this->fields["status"] == "waiting"))) {
         return true;
      }
      return false;
   }

Non pas possible car trop restrictif.
Dans ton cas, il faut obligatoirement que le ticket soit au statut En attente pour pouvoir supprimer une demande de validation.


CentOS 6.5 - CentOS 7.x
PHP 5.6 - PHP 7.x - MySQL 5.6  - MariaDB 10.2 + APC + oOPcache
GLPI from 0.72 to dev version
Certifiée ITIL (ITV2F, ITILF, ITILOSA)

Offline

#9 2012-08-24 13:42:59

pchauvin
Member
Registered: 2009-01-12
Posts: 313

Re: suppression des validations par post-only ..!

Je ne comprend pas ta remarque. Le code fait référence au statut de la demande de validation, pas au statut du ticket.

Si donc une demande de validation n'a pas encore été traitée (statut waitting), il est encore possible pour le demandeur de la validation de modifier ou de supprimer celle-ci. Sinon, cela est impossible sauf pour un super-admin.

Cela n'est donc pas trop restrictif mais assure l'intégrité du traitement d'un ticket..... je pense.

Last edited by pchauvin (2012-08-24 13:44:29)


GLPI 0.90.3 - MySql 5.5.46-0 - Apache 2.4.10 - Debian 8u1

Offline

#10 2012-08-24 14:01:00

pchauvin
Member
Registered: 2009-01-12
Posts: 313

Re: suppression des validations par post-only ..!

Comme pour purger un ticket, il faut pouvoir le modifier, j'ai rajouté cette possibilité au profil super-admin

function canUpdateItem() {
If (($_SESSION['glpiactiveprofile']['name']=="super-admin")||
  Session::haveRight('create_validation', 1)
          && ($this->fields["users_id_validate"] == Session::getLoginUserID())
                && ($this->fields["status"] == "waiting")) {
         return true;

      }

GLPI 0.90.3 - MySql 5.5.46-0 - Apache 2.4.10 - Debian 8u1

Offline

#11 2012-08-24 15:36:14

pchauvin
Member
Registered: 2009-01-12
Posts: 313

Re: suppression des validations par post-only ..!

Et il manquait encore quelque chose pour que le demandeur de la validation puisse entrer dans la demande de validation pour pouvoir la supprimer (si'elle n'est pas encore traitée evidemment):

function canUpdateItem() {
If (($_SESSION['glpiactiveprofile']['name']=="super-admin")||
  Session::haveRight('create_validation', 1)
          && (($this->fields["users_id_validate"] == Session::getLoginUserID())||
          ($this->fields["users_id"] == Session::getLoginUserID()))
                && ($this->fields["status"] == "waiting")) {
         return true;

      }

      return false;

GLPI 0.90.3 - MySql 5.5.46-0 - Apache 2.4.10 - Debian 8u1

Offline

Board footer

Powered by FluxBB