IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Programmation système Discussion :

GLPI : survez et création de ticket impossible


Sujet :

Programmation système

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    394
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 394
    Par défaut GLPI : survez et création de ticket impossible
    Bonjour,

    lorsque j'active survez dernière version (0.84+1.3) sur glpi 0.90.1 la création de ticket en post-only affiche une page sans le formulaire de création ..

    Je suis bloqué ...

    comment faire on a besoin de survey.

    Je regarde le code, avez-vous une idée ?

    Quand je clique sur catégorie ça me renvoie sur une page blanche les url sont indiquées.

    ça appelle :
    ajax/getDropdownValue.php
    et
    /comments.php

    Faut-il que je cherche ici ou sur /front/tracking.injector.php ou sur plugin_survey/hook.php ?

    Après des recherche sur le hook.php je trouve :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     if (!isset($_POST['add'])) {      	
             if (strpos($_SERVER['PHP_SELF'], "ticket.form.php")) {
                Html::header(__('New ticket'), '', "maintain", "ticket");
               
                PluginSurveyticketSurvey::getCentral();
                Html::footer();
                exit;
             } else if (strpos($_SERVER['PHP_SELF'], "helpdesk.public.php")
                     || (strpos($_SERVER['PHP_SELF'], "tracking.injector.php"))) {
                var_dump($_POST); //YD
                Html::helpHeader(__('Simplified interface'), '', $_SESSION["glpiname"]);
                PluginSurveyticketSurvey::getHelpdesk();
                Html::helpFooter();
                exit;
             }
          }
    Il passe dans le else.

    Il faut que je revois le code ticket.php dans survey.class.php aussi ?

    J'ai lu les doc sur votre site sur la création d'un plugin mais je suis un peu largué ...

    Merci d'avance

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    394
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 394
    Par défaut
    Bonjour,
    dans le fichier setup j'ai des hooks mais les submenu_entry ( le add question en rouge ) n'affiche rien sur glpi 0.9 pas de bouton, sur l'ancienne version glpi c'est ok !
    Pouvez-vous me dire si les hooks ne sont plus valable ou s'il faut chercher ailleurs ! Si je savais où chercher ?
    Si je commente les hooks j'obtiens la même chose: ils ne sont pas pris en compte !

    Car rien ne fonctionne en fait ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    function plugin_init_surveyticket() {
       global $PLUGIN_HOOKS;
    
       $PLUGIN_HOOKS['csrf_compliant']['surveyticket'] = true;
       
       if (isset($_SESSION["glpiID"])) {
    
          $plugin = new Plugin();
          if ($plugin->isActivated('surveyticket')) {
             Plugin::registerClass('PluginSurveyticketProfile',
                  array('addtabon' => array('Profile')));
    
             $PLUGIN_HOOKS['change_profile']['surveyticket'] = array('PluginSurveyticketProfile','changeprofile');
             PluginSurveyticketProfile::changeprofile();
             
                   
             /*if (PluginSurveyticketProfile::haveRight("config", 'r')) {
                $PLUGIN_HOOKS['menu_entry']['surveyticket'] = true;
                $PLUGIN_HOOKS['config_page']['surveyticket'] = 'front/menu.php';
             }*/  
                   
             if (Session::haveRight("config", UPDATE)) {
                $PLUGIN_HOOKS['menu_entry']['surveyticket'] = true;
                $PLUGIN_HOOKS['config_page']['surveyticket'] = 'front/menu.php';
             }
             
             $PLUGIN_HOOKS['post_init']['surveyticket'] = 'plugin_surveyticket_post_init';
    
          }
    
          // Icons add, search...
          $PLUGIN_HOOKS['submenu_entry']['surveyticket']['add']['questions'] = 'front/question.form.php?add=1';
          //$PLUGIN_HOOKS['submenu_entry']['surveyticket']['search']['questions'] = 'front/question.php';
    
          $PLUGIN_HOOKS['submenu_entry']['surveyticket']['add']['survey'] = 'front/survey.form.php?add=1';
          $PLUGIN_HOOKS['submenu_entry']['surveyticket']['search']['survey'] = 'front/survey.php';
    
          $PLUGIN_HOOKS['submenu_entry']['surveyticket']['add']['answers'] = 'front/answer.form.php?add=1';
    
    
          // Fil ariane
          $PLUGIN_HOOKS['submenu_entry']['surveyticket']['options']['questions']['title'] = "Questions";
          $PLUGIN_HOOKS['submenu_entry']['surveyticket']['options']['questions']['page']  = '/plugins/surveyticket/front/question.php';
    
          $PLUGIN_HOOKS['submenu_entry']['surveyticket']['options']['answers']['title'] = "Answers";
    //         $PLUGIN_HOOKS['submenu_entry']['surveyticket']['options']['answers']['page']  = '/plugins/surveyticket/front/answer.php';
    
          $PLUGIN_HOOKS['submenu_entry']['surveyticket']['options']['survey']['title'] = "Surveys";
          $PLUGIN_HOOKS['submenu_entry']['surveyticket']['options']['survey']['page']  = '/plugins/surveyticket/front/survey.php';
    
       }
    }

  3. #3
    Membre Expert
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2004
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 725
    Par défaut
    GLPI à un forum dédié tu aura plus de réponses la bas

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    394
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 394
    Par défaut
    Bonjour,
    Merci
    J'ai en effet un sujet sur ce forum.

    Voilà ce que j'ai fait :
    - Survey ticket : adapté d'un plugin officiel testé en post-only ou en cliquant sur le plugin. A récupérer la dernière version et à adapter ...
    - Changer dans setup.php le test de validité du plugin, permet de le rendre actif
    - encore l'erreur sur ce plugin "Security die. trying to load an forbidden class name".
    On peut commenter la ligne 266 (die("Security die...) dans /inc/autoload.function.php mais très mal !
    En fait commenter le test (is_numeric($classname) ...

    - Gros pb : activation survey : plus de possibilité de création de ticket !

    réponse du développeur :
    Oui, le portage est en cours, et donc la il n'est pas encore compatible
    0.90
    --
    Faire :
    Changer les droits dans le fichier profile.class
    ----
    /*
    if (!$ticket_template) {
    echo "<form method='post' name='helpdeskform' action='".
    $CFG_GLPI["root_doc"]."/front/tracking.injector.php' enctype='multipart/form-data'>";
    }
    */
    ----
    Dans tracking.injector.php
    pour test
    var_dump($_POST);
    var_dump($_SESSION);

    modifier dans setup.php et commenter l'ancienne ligne
    if (Session::haveRight("config", UPDATE)) {
    $PLUGIN_HOOKS['menu_entry']['surveyticket'] = true;
    $PLUGIN_HOOKS['config_page']['surveyticket'] = 'front/menu.php';
    }
    Dans setup.php on trouve Plugin::registerClass('PluginSurveyticketProfile' on en déduit le nom de la
    classe : profile.php (dans ./inc) !
    Dans hook.php changer dans if (!isset($_POST['add'])) { dans le else et commenté le reste (a ne pas fare !)
    en Html::header(__('New ticket'), '', "maintain", "ticket"); //YD
    PluginSurveyticketSurvey::getCentral(); //YD
    ---
    - Display survey in the ticket : faire copie de Clone of Ticket::showForm()
    Change '$this' by '$ticket', 'self' by 'Ticket' and 'parent' by 'Ticket' Attention prudence ... Sur ticket et Ticket
    - getHelpdesk faire clone of function Ticket::showFormHelpdesk()
    - copie après
    ---
    ______
    Dans le survey : Voir le fichier hook.php et surveyclass.php fonction getHelpdesk.php
    voir ligne 1403 point d'arrêt et ligne startSurvey $psSurvey->startSurvey($plugin_surveyticket_surveys_id)
    ______

    Après tout ceci le plugin fonctionne ...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Création diagramme DB impossible
    Par jacquesprogram dans le forum VB.NET
    Réponses: 0
    Dernier message: 06/01/2009, 11h56
  2. Création de base impossible sous dédié Plesk
    Par sbo33 dans le forum Installation
    Réponses: 0
    Dernier message: 11/06/2008, 11h11
  3. Création de persistence impossible car aucune PK
    Par jminguely dans le forum NetBeans
    Réponses: 6
    Dernier message: 22/02/2008, 09h35
  4. Création d'executable impossible
    Par ForceTranquille dans le forum Langage
    Réponses: 7
    Dernier message: 24/04/2007, 14h07
  5. Création clé étrangère impossible
    Par Mister Nono dans le forum Outils
    Réponses: 4
    Dernier message: 10/10/2006, 15h16

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo