You are not logged in.
Bonjour,
Je ne sais pas si j'ai posté cette demande au bon endroit.
J'ai installé le plugin "Moretickets" qui permet d'entrer une solution directement sur la page de formulaire du ticket lorqu'on sélectionne le statut "Résolu" ou "En attente". Mon seul problème est que ça n'est possible que lors de l'ajout d'un nouveau ticket. Si on veut entrer une solution lorsqu'on met a jour un ticket, lorqu'on sélectionne le bon statut, rien ne s'affiche.
Je voudrais modifier le comportement de ce plugin afin de pouvoir renseigner la solution aussi à la mise à jour d'un ticket.
J'ai modifié le fichier ajax/ticket.php (ligne 53) :
if (isset($_POST['type'] && $_POST['type'] == 'add')
MODIFIE EN
if (isset($_POST['type'] && $_POST['type'] == 'add' || $_POST['type'] == 'update')
Et également le fichier /scripts/moreticket.js (dans la partie "ON UPDATE SIDE") :
if (status_bloc != undefined && status_bloc.length != 0) {
status_bloc.parent().append(requester);
// ON DISPLAY : Display or hide waiting type
if ($("#moreticket_waiting_ticket") != undefined) {
// WAITING TICKET
if (status_bloc.val() == object.params.waiting) {
$("#moreticket_waiting_ticket").css({'display': 'block'});
} else {
$("#moreticket_waiting_ticket").css({'display': 'none'});
}
//MODIFICATION QUE J'AI APPPORTE
// CLOSE TICKET
var show_solution = false;
if (object.params.solution_status != null && object.params.solution_status != '') {
$.each($.parseJSON(object.params.solution_status), function (index, val) {
if (index == status_bloc.val()) {
show_solution = true;
}
});
}
if (show_solution && object.params.use_solution) {
$("#moreticket_close_ticket").css({'display': 'block'});
} else {
$("#moreticket_close_ticket").css({'display': 'none'});
}
// ONCHANGE : Display or hide waiting type
status_bloc.change(function () {
// WAITING TICKET
if (status_bloc.val() == object.params.waiting) {
$("#moreticket_waiting_ticket").css({'display': 'block'});
} else {
$("#moreticket_waiting_ticket").css({'display': 'none'});
}
//MODIFICATION QUE J'AI APPORTE
// CLOSE TICKET
var show_solution = false;
if (object.params.solution_status != null && object.params.solution_status != '') {
$.each($.parseJSON(object.params.solution_status), function (index, val) {
if (index == status_bloc.val()) {
show_solution = true;
}
});
}
if (show_solution && object.params.use_solution) {
$("#moreticket_close_ticket").css({'display': 'block'});
} else {
$("#moreticket_close_ticket").css({'display': 'none'});
}
});
}
}
}
});
}
Maintenant, j'ai bien le formulaire qui s'affiche sur les tickets que je met à jour, mais le problème est qu'elle s'affiche tout le temps, y compris lorsque le statut est "En cours", "Nouveau", etc...
Quelqu'un sait où je me suis trompé?
Merci d'avance
Pippo
GLPI 9.4.6 (additionalfields 1.10.3 + fusioninventory 9.4+2.4 + datainjection 2.7.1 + printtopdf 1.6.0) - PHP 7.4 - MySQL 8.0 Community InnoDB cluster (3 nodes - single primary) - All on CentOS 8
Offline