Page 1 sur 1

Possibilité d'ajouter de nouveaux champs à un ticket ?

Posté : mer. 3 sept. 2014 18:50
par jacko
Bonjour,

Je suis très intéressé par GESTSUP qui est vraiment très bien fait (Bravo).

Cependant, j'aurai besoin de le personnaliser en ajoutant de nouveaux champs aux "tickets".

Est-ce possible ?


Merci.

Re: Possibilité d'ajouter de nouveaux champs à un ticket ?

Posté : mar. 9 sept. 2014 10:35
par jacko
SVP,
Est-ce que quelqu'un pourrais m'indiquer "en gros" comment faire pour ajouter un champ à ticket ?
>>> Tables et Pages php à mettre à jour, etc.

Merci de votre aide.

Re: Possibilité d'ajouter de nouveaux champs à un ticket ?

Posté : mar. 9 sept. 2014 11:01
par fabrice
bonjour,
pourriez vous préciser votre demande ( quel type de champ etc ...)
cordialement

Re: Possibilité d'ajouter de nouveaux champs à un ticket ?

Posté : mar. 9 sept. 2014 11:51
par jacko
Merci beaucoup de votre réponse.

En fait je souhaiterais ajouter un champ "Entité" (Texte, 100 caractères, obligatoire) basé sur une liste de valeurs gérée dans le module d'administration.


Merci

Re: Possibilité d'ajouter de nouveaux champs à un ticket ?

Posté : mar. 14 oct. 2014 16:20
par fabrice
bonjour,
est ce qu'un champ comme description ou résolution serait adéquat ?

Re: Possibilité d'ajouter de nouveaux champs à un ticket ?

Posté : mar. 14 oct. 2014 23:50
par jacko
Bonjour Fabrice,

En fait, mon besoin serait plutôt d'ajouter un champ comme "Lieux", basé sur une liste de valeurs gérée dans "/administration/listes".

Avez-vous déjà effectuer ce type d'évolution ?


Merci

Re: Possibilité d'ajouter de nouveaux champs à un ticket ?

Posté : mer. 15 oct. 2014 14:40
par fabrice
bonjour,
ok alors le souci c'est que la gestion des lieux est activée par une coche dans administration et alimente une table "tplace" dans la base de donnée.
le plus simple serait de renommer le champ "TYPES" pour s'en servir.
qu'en pensez vous ?
autre souci et lors des mise à jour il faudrait plutôt pouvoir ajouter des champs dans le menu de gestion des listes

Re: Possibilité d'ajouter de nouveaux champs à un ticket ?

Posté : mer. 15 oct. 2014 16:01
par jacko
En fait, je compte déjà utiliser les champs "Lieux" et "Types".

Mon besoin est de gérer d'autres champs de la même manière.


Merci.

Re: Possibilité d'ajouter de nouveaux champs à un ticket ?

Posté : mer. 5 nov. 2014 22:22
par jacko
Bonjour à tous,

Suite aux indications de Flox, voilà comment j'ai fait pour ajouter un champs "Entité" (Texte) aux tickets :

1. "ticket.php" :

1.1. A ajouter au block "initialize variables"

Code : Tout sélectionner

if(!isset($entite)) $entite = ''; 

1.2. A ajouter au block "initialize variables POST"

Code : Tout sélectionner

if(!isset($_POST['entite'])) $_POST['entite'] = '';

1.3. A ajouter au block "defaults values for new tickets"

Code : Tout sélectionner

if(!isset($globalrow['entite'])) $globalrow['entite'] = '';

1.4. A ajouter dans le corps du html à générer, là où vous voulez placer le champ

Code : Tout sélectionner

<!-- START entite part -->
	<div class="form-group <?php if($rright['ticket_entite_disp']==0) echo 'hide';?>">
		<label class="col-sm-2 control-label no-padding-right" for="title">ENTITE:</label>
		<div class="col-sm-8">
			<input  name="entite" id="entite" type="text" size="20"  value="<?php if ($_POST['entite']) echo $_POST['entite']; else echo $globalrow['entite']; ?>" <?php if($rright['ticket_entite']==0  && $_GET['action']!='new') echo 'readonly="readonly"';?> />
		</div>
	</div>
	<!-- END entite part -->

2. "/core/ticket.php" :

2.1. A ajouter au block "escape special char in sql query"

Code : Tout sélectionner

$_POST['entite'] = mysql_real_escape_string($_POST['entite']);

2.2. A ajouter au block "secure HMTL injection"

Code : Tout sélectionner

$_POST['entite']=strip_tags($_POST['entite']);

2.3. A ajouter au block "insert ticket"

Code : Tout sélectionner

$query= "INSERT INTO tincidents (user,type,u_group,technician,t_group,title,description,date_create,date_hope,date_res,priority,criticality,state,creator,time,time_hope,category,subcat,techread,place,start_availability,end_availability,availability_planned,entite) VALUES ('$_POST[user]','$_POST[type]','$u_group','$_POST[technician]','$t_group','$_POST[title]','$_POST[description]','$_POST[date_create]','$_POST[date_hope]','$_POST[date_res]','$_POST[priority]','$_POST[criticality]','$_POST[state]','$_SESSION[user_id]','$_POST[time]','$_POST[time_hope]','$_POST[category]','$_POST[subcat]','$techread','$_POST[ticket_places]','$start_availability','$end_availability','$_POST[availability_planned]','$_POST[entite]')";
2.4. A ajouter au block "update ticket"

Code : Tout sélectionner

$query = "UPDATE tincidents SET 
	user='$_POST[user]',
	type='$_POST[type]',
	u_group='$u_group',
	technician='$_POST[technician]',
	t_group='$t_group',
	title='$_POST[title]',
	description='$_POST[description]',
	date_create='$_POST[date_create]',
	date_hope='$_POST[date_hope]',
	date_res='$_POST[date_res]',
	priority='$_POST[priority]',
	criticality='$_POST[criticality]',
	state='$_POST[state]',
	time='$_POST[time]',
	time_hope='$_POST[time_hope]',
	category='$_POST[category]',
	subcat='$_POST[subcat]',
	techread='$techread',
	place='$_POST[ticket_places]',
	start_availability='$start_availability',
	end_availability='$end_availability',
	availability_planned='$_POST[availability_planned]',
	entite='$_POST[entite]'
	WHERE
	id LIKE '$_GET[id]'";


3. Mise à jour de la base de données :

- Se connecter à l'interface d'administration de la base de données via phpmysql.
- Sélectionner la base "gestsup"
- Executer le script suivant :

Code : Tout sélectionner

-- tincidents
	-- ENTITE
	ALTER TABLE `tincidents` ADD COLUMN `entite` VARCHAR(9) NOT NULL;
	-- trights
	-- ENTITE
	ALTER TABLE `trights` ADD COLUMN `ticket_entite` int(1) NOT NULL;
	ALTER TABLE `trights` ADD COLUMN `ticket_entite_disp` int(1) NOT NULL;
	--
	ALTER TABLE `trights` MODIFY `ticket_entite` int(1) NOT NULL COMMENT 'Modification du champ ENTITE dans la demande';
	ALTER TABLE `trights` MODIFY `ticket_entite_disp` int(1) NOT NULL COMMENT 'Affiche le champ ENTITE dans la demande';
	-- 
	UPDATE `trights` SET `ticket_entite`=2, `ticket_entite_disp`=2 WHERE  `trights`.`id` =1; 
	UPDATE `trights` SET `ticket_entite`=2, `ticket_entite_disp`=2 WHERE  `trights`.`id` =2; 
	UPDATE `trights` SET `ticket_entite`=2, `ticket_entite_disp`=2 WHERE  `trights`.`id` =3; 
	UPDATE `trights` SET `ticket_entite`=2, `ticket_entite_disp`=2 WHERE  `trights`.`id` =4; 
	UPDATE `trights` SET `ticket_entite`=2, `ticket_entite_disp`=2 WHERE  `trights`.`id` =5;


>>> Et voilà ! J'espère que ça pourra aider certains d'entre vous.

Re: Possibilité d'ajouter de nouveaux champs à un ticket ?

Posté : mer. 25 févr. 2015 00:21
par Networkremote
Hello Jacko,
Merci bcp pour le partage d'information, juste une question, comment faire pour que le champ ajouté sera affiché sur les états?