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 2019-07-24 12:23:57

keytrap
Member
Registered: 2019-07-24
Posts: 6

Cacher le btn "Solution" si l'un des champs obligatoires n'est pas mis

[RESOLU]

Bonjour,

je suis sous GLPI 9.1.4.
Je rencontre souvent le problème suivant:

Nous avons mis en place un collecteur pour créer des tickets à la réception de mails.

Il se trouve que quand le ticket est créé via le collecteur, la catégorie du ticket (qui est obligatoire) n'est pas renseignée.
Parfois il m'arrive d'oublier de la mettre et de résoudre le problème.

Je clique donc sur "Solution" et je mets mon texte puis je clique sur "Ajouter"
Et là la page se rafraîchit et affiche un message "Catégorie obligatoire pour résoudre/fermer un ticket" (ce qui est normal en soit) mais là où c'est embêtant c'est que mon long pavé est perdu du coup.

Je voulais donc savoir si c'était possible de cacher le bouton "Solution" si l'un des champs obligatoires n'était pas renseigné (ou au moins la catégorie) ?

Merci !

Last edited by keytrap (2019-08-07 09:01:39)

Offline

#2 2019-07-24 19:43:58

mihelp
Member
Registered: 2019-07-24
Posts: 1

Re: Cacher le btn "Solution" si l'un des champs obligatoires n'est pas mis

Dans le fichier /glpi/inc/ticket.class.php modifies (vers la ligne 6953) ça :

if ($canadd_solution) {
         echo "<li class='solution' onclick='".
              "javascript:viewAddSubitem".$this->fields['id']."$rand(\"Solution\");'>"
              .__("Solution")."</li>";
      }

par

if ($canadd_solution) {
 //MODIF -> Si le champ catégorie (obligatoire) n'est pas renseigné alors le bouton Solution ne sera pas visible
	$categid = $this->fields['itilcategories_id'];
	$vis = "";
			
	if($categid < 1)
	{
		$vis = "style='display: none;'";
	}
			  
	echo "<li class='solution' ".$vis." onclick='".
	"javascript:viewAddSubitem".$this->fields['id']."$rand(\"Solution\");'>"
	.__("Solution")."</li>";
}

Offline

#3 2019-07-25 11:18:30

keytrap
Member
Registered: 2019-07-24
Posts: 6

Re: Cacher le btn "Solution" si l'un des champs obligatoires n'est pas mis

Merci x1000 fois ça marche impeccable !

Last edited by keytrap (2019-07-25 11:23:08)

Offline

#4 2019-08-07 08:59:21

keytrap
Member
Registered: 2019-07-24
Posts: 6

Re: Cacher le btn "Solution" si l'un des champs obligatoires n'est pas mis

Pour GLPI 9.4.X et peutêtre 9.3.X (mais pas testé en 9.3) c'est la même chose mais il faut faire la modification dans le fichier "\inc\commonitilobject.class.php" ligne 6245

Offline

#5 2020-01-26 10:27:09

tonio38
Member
Registered: 2016-10-13
Posts: 67

Re: Cacher le btn "Solution" si l'un des champs obligatoires n'est pas mis

Bonjour,

Y a t'il un plugin qui permet de le faire ?

Cdlt


Glpi 10

Offline

#6 2020-11-15 16:43:13

tonio38
Member
Registered: 2016-10-13
Posts: 67

Re: Cacher le btn "Solution" si l'un des champs obligatoires n'est pas mis

Bonjour ,
Une astuce pour Glpi 9.5 afin de faire ça nativement ?
Ou c'est le même procédé ?

Cdlt


Glpi 10

Offline

#7 2020-11-16 08:45:53

Isia
Member
Registered: 2019-05-26
Posts: 96

Re: Cacher le btn "Solution" si l'un des champs obligatoires n'est pas mis

Salut,
la solution de mihelp fonctionne mais mettre en dur dans le code source une condition n'est pas recommandé.
Le jour où tu veux mettre à jour ta version, tout s'écrase.

Du coup pour compléter la solution, je te propose 3 pistes :
- (Très Facile) Ajoute ta modification entre 2 commentaires => // Mise à jour en dur - Début et //   Mise à jour en dur - Fin . Ca te permettra de retrouver facilement ta modification lors d'une mise à jour, si, par exemple tu te sert de VsCode, tu chercheras ces mots clef.
- (Facile) Ajoute un hook https://glpi-developer-documentation.re … hooks.html ça te perme d'ajouter du code avec un plugin à l'endroit où ce situe le hook
- (Complexe) Créé un plugin avec les hooks existant

Offline

Board footer

Powered by FluxBB