[Corrigé 3.1.3] Nouvel Etat n’apparaît pas "Marqué Comme"

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
gilloufcr
Gsup LEVEL 0
Messages : 3
Enregistré le : mer. 23 sept. 2015 12:59

Bonjour,

Je suis en version 3.0.10, j'ai créé un état "Facturé".

Je n'ai pas de soucis pour affecter cet état a un ticket, mais quand je veux effectuer cette modification en masse via la liste "Pour la Sélection", mon état n’apparaît pas.

Existe t il un moyen de le faire apparaître, j'ai peut être oublié une étape ?

Merci.

Cordialement.
2016-01-07_14-12-36.png
2016-01-07_14-12-36.png (10.61 Kio) Vu 2273 fois
Fichiers joints
2016-01-07_14-07-01.png
2016-01-07_14-07-01.png (15.53 Kio) Vu 2273 fois
Avatar du membre
Flox
Administrateur du site
Messages : 9436
Enregistré le : jeu. 21 juin 2012 19:00

Bonjour,

effectivement cette liste est statique et n'est pas géré dynamiquement nous avons corrigé ce point pour la 3.1.3.

si vous êtes préssez vous pouvez:

1 - remplacer la section "//checkbox selection " du fichier ./dashboard.php par:

Code : Tout sélectionner

//checkbox selection SQL updates
if($_POST['selectrow'])
{
	while ($row=$masterquery->fetch())
	{
		//initialize variables 
		if(!isset($_POST['checkbox'.$row["id"]])) $_POST['checkbox'.$row["id"]] = ''; 
		if ($_POST['checkbox'.$row['id']]!='') 
		{
			//change state
			if($_POST['selectrow']=="delete")
			{
				$db->exec("UPDATE tincidents SET disable='1' WHERE id LIKE '$row[id]'");
				echo '<div class="alert alert-block alert-success"><i class="icon-remove"></i> Ticket '.$row['id'].' supprimé.</div>';
			} else {			
				$db->exec("UPDATE tincidents SET state='$_POST[selectrow]' WHERE id LIKE '$row[id]'");
				echo '<div class="alert alert-block alert-success"><i class="icon-ok green"></i> Ticket '.$row['id'].' modifié.</div>';
			}
		}
	}
	$masterquery->closeCursor();
	
	//redirect
	echo "<SCRIPT LANGUAGE='JavaScript'>
				<!--
				function redirect()
				{
				window.location='./index.php?page=dashboard&state=$_GET[state]&userid=$_GET[userid]'
				}
				setTimeout('redirect()',$rparameters[time_display_msg]);
				-->
		</SCRIPT>";
}
1 - remplacer la section "//display multicheck options " du fichier ./dashboard.php par:

Code : Tout sélectionner

	//display multicheck options
	if ($rright['task_checkbox']!=0 && $resultcount[0]>0)
	{
		echo '
			&nbsp;&nbsp;&nbsp;	<i class="icon-level-down icon-rotate-180 icon-2x"></i>&nbsp&nbsp&nbsp
			<select title="Effectue des actions pour les tickets selectionnés dans la liste des tâches." name="selectrow" onchange="submit()">
				<option selected>Pour la selection:</option>';
				if ($rright['ticket_delete']!=0){
					echo '<option value="delete">Supprimer</option>';
				}
				//display list of ticket states
				$query = $db->query("SELECT * FROM tstates ORDER BY name");
				while ($row=$query->fetch())
				{
					echo '<option value="'.$row['id'].'">Marquer comme "'.$row['name'].'"</option>';
				} 
				$query->closeCursor(); 
				echo '
			</select>
		';
	}
	echo "</form>"; //end form for task_checkbox
Cordialement
GestSup: 3.2.47 | Debian: 12 | Apache: 2.4.59 | MariaDB: 11.5.2 | PHP: 8.3.12 | https://doc.gestsup.fr/
Répondre