ValidationToGroup

Description

Autoriser la sélection d'un groupe pour la validation d'un ticket.
Tous les membres du groupe ayant le droit de valider un ticket peuvent répondre.

A traiter :

  • Modification des droits de vision des formulaires de validation
  • Affichage dans le ticket
  • Utilisation dans les colonnes de la liste des tickets
  • Prise en charge par la modification massive
  • Prise en compte dans les notifications
  • Ajout d'une action "Envoyer une demande validation - Groupe" dans les règles des tickets
  • Affichage des validations par les membres d'un groupe

Cas de la validation multiple :

Ajout à coté de la sélection du groupe valideur, un dropdown (Aucun, Un seul ou Tous)
Elle permet de faire la validation :
  • Pour aucun utilisateur
    C’est-à-dire que la validation ne dépend pas du groupe et de ses utilisateurs.
    Les utilisateurs peuvent voir les tickets à valider et peuvent recevoir des notifications, mais leur validation n’a aucun effet.
  • Pour un seul utilisateur du groupe
    Dans ce cas la validation est acceptée par un membre du groupe.
    La validation prise en compte est la plus récente.
  • Pour tous les utilisateurs du groupe
    Dans ce cas la validation est en statut « en attente de validation » jusqu’au rejet ou l’acceptation de tous les membres.

Affichage de la validation pour plusieurs utilisateurs :

Pour pouvoir afficher l'état de validation par plusieurs utilisateurs, un Tooltip pourrait être affiché près du nom du groupe valideur.
Ce Tooltip contiendrait : le nom de l'utilisateur - l'état de la validation.
Même fonctionnement pour les commentaires de chaque utilisateur, qui seraient affichés via un Tooltip.

Nouvelle idée : à étudier / solution plus simple à mettre en oeuvre et plus souple pour les utilisateurs

  • Choisir un groupe et ajouter tout ou une partie des utilisateurs.
  • On reste dans un système de validation par utilisateur
  • A l'ajout d'une demande de validation on propose donc de choisir un utilisateur simple ou de choisir au sein d'un groupe. Si un groupe est sélectionné, on affiche ses utilisateurs et on propose de sélectionner ce que l'on souhaite (boutons rapides Tous / Aucun nécessaire)
  • Définir un pourcentage nécessaire de validation requis pour valider ou refuser.
  • 0% -> la première validation ou le premier refus est pris en compte
  • 100% -> si tout le monde donne le même avis on le sélectionne
  • 50% -> au moins la moitié donne validation ou refus
  • Le pourcentage de validation est stocké dans l'objet (ticket / changement ...)
  • A voir si une configuration par défaut dans les entités est nécessaire.
  • Bref, pour être clair : stockage dans glpi_tickets / glpi_changes mais affichage dans onglet validation si au moins une demande de validation effectuée (peut-être voir pour demander à la première saisie d'une validation)
  • Avis :
  • Tsmr

Ok pour moi pour rester dans le système de validation par utilisateur, avec choix des utilisateurs si choix d'un groupe et choix du pourcentage de validation requis au moment de la création de la demande de validation. Pour ma part à stocker uniquement au niveau de l'objet et non sur l'entité.

  • D'autres avis ?

Problème lors de la création d'une règle

Les règles sont faites pour stocker une valeur et non un tableau de valeurs (liste des utilisateurs du groupe valideur). Pour le moment j'ai encodé mon tableau en json, pour pouvoir le stocker dans le champs "value" de "glpi_ruleactions". Mais peut être faudrait il changer le fonctionnement des règles ?
Mon tableau de valeurs pour la règle contient :
  • l'id du groupe sélectionné
  • les id des utilisateur sélectionnés
  • Le type de validation : 0%, 50%, 100%
MoYo : Je pense que c'est 3 actions différentes donc au final pas besoin de mettre tout ca dans un tableau
  • type de validation assigner une valeur spécifique (value = le pourcentage)
  • envoi une demande de validation un user spécifique (il faut que cette action puisse être défini plusieurs fois : via permitseveral) (value = users_id, action_type = add_validation)
  • envoi une demande de validation à tous les users d'un groupe (pareil peut être multiple) (value = groups_id, action_type = add_validation)

Ce que j'ai fait peut fonctionner en json, mais ce n'est peut être pas très propre. Des avis ?

Non encore traité

En cas de validation d'un des membres du groupes (cas du 0%) ou en cas du 50% (2ème validation sur 3 envoyés), que fait-on des validations restantes en cours ?
  • Valider toutes les restantes en ajoutant un commentaire du type Validé par XXX le (date du jour)
  • Supprimer les validation "En attente de validation" ?
  • Autre idée ?

MoYo : et si tout simplement on les laisse ? Si les utilisateurs veulent répondre qu'il le fasse. Si en plus il donne un avis contraire pour une très bonne raison, il pourra être pris en compte manuellement. Pourquoi s'embeter ?

Nelly : Pour le cas à 0%, cela va être perturbant pour un technicien d'avoir des avis qui peuvent être contradictoires alors qu'on ne veut que la première réponse.
Dans ce cas, dès la première validation reçue, je fermerai les autres validations en istances avec un message comme le propose Tsmr.

MoYo : en quoi c'est plus perturbant qu'actuellement ?