Champ de recherche par numéro de ticket

Contribuer au projet de part vos connaissances: PHP, HTML, CSS, SQL, JS ....
Répondre
JClini
Gsup LEVEL 0
Messages : 2
Enregistré le : mer. 22 juil. 2026 15:40

Bonjour,

Je vous propose un nouveau champ de recherche de ticket permettant de trouver un ticket avec l'ID

Mes collègues ont souvent l'habitude de me partager des numéro de ticket "Tu pourrais regarder le ticket 65872?"
Sans dire que c'est compliqué, ça demande de taper dans l'URL le bon paramètre

Si vous aussi vous avez ce cas, avec ce code, vous pourrez coller votre numéro de ticket et appuyer sur "Entrer" sur le clavier, le ticket s'ouvrira alors directement


Vous pouvez ajouter ce code juste après la ligne 154 de /menu.php

Code : Tout sélectionner

				// Open a ticket with his ID
				if (!in_array($_GET['page'], ['asset_list', 'asset', 'admin', 'procedure']))
				{
					echo '
					<div class="sidebar-section-item">
						<i class="fadeinable fa fa-ticket text-info mr-n1"><!----></i>
						<div class="fadeable d-inline-flex align-items-center ml-3 ml-lg-0">
							<i class="fa fa-ticket mr-n3 text-info"><!----></i>

							<form method="GET" action="index.php" class="form-search" onsubmit="return openTicketById(this);">
								<input type="hidden" name="page" value="ticket">
								<input type="hidden" name="csrf_post" value="'.$_SESSION['csrf_post'].'">

								<span class="input-icon">
									<input type="text" class="sidebar-search-input pl-4 pr-3 mr-n2" maxlength="20" title="'.T_('Directly open the ticket page with the ID').'" placeholder="'.T_('Ticket#').'" id="ticket_id" name="id" inputmode="numeric" autocomplete="off"/>
								</span>
							</form>
						</div>
					</div>';

					// JS to clear the ID while typing and open the ticket page
					echo '
					<script>
					function openTicketById(form) {
						const input = form.querySelector(\'input[name="id"]\');
						input.value = input.value.replace(/\D/g, \'\');
						if (!input.value) {
							return false;
						}
						return true;
					}
					document.getElementById(\'ticket_id\').addEventListener(\'input\', function () {
						this.value = this.value.replace(/\D/g, \'\');
					});
					</script>\'';
				}
Le texte est en anglais, vous pouvez ajouter les traductions
Si vous ne voulez qu'une langue, autre que l'anglais, vous pouvez directement changer dans le code ces deux phrases par votre traduction:
Directly open the ticket page with the ID
Ticket#
Répondre