1

Topic: Moretickets - Affichage de la solution à l'update d'un ticket

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 0.90.1 + OCS Inventory NG 1.2.1 + Behaviors 1.1 + MoreLDAP 0.2.3 + Renamer 0.90-1.0 + Data Injection 2.4.1 + FormCreator 2.4.0

Red Hat 4.8.3 / Apache 2.4.6 / MariaDB 5.5.44 / PHP 5.4.16