Menu

Ajout demandeur

fpresseau
2005-03-14
2013-04-17
  • fpresseau

    fpresseau - 2005-03-14

    Bonjour,

    Je sais que j'ai possiblement plus de chances d'avoir une rponse du ct bugzilla.org, mais je vais tenter ma chance ici en premier. Si il y a moins de monde, j'aurais peut-tre un meilleur service. :)

    Nous avons mont bugzilla dans le but de grer les appels pour le support aux usagers.

    Nous aimerions avoir une liste supplmentaire dans l'cran de cration qui nous permettrait de slectionner un usager (celui qui fait la demande). Les usagers n'ont pas accs  bugzilla.

    J'ai fait les tables mysql avec du data, ajout du code au cgi et tmpl, mais je n'arrive pas  afficher la liste des usagers.

    Avant de m'arracher les cheveux (et plus...), j'aimerais savoir si quelqu'un a dj fait de quoi de semblable?

    Pour votre information, voici les ajouts que j'ai fait:

    globals.pl
    sub GetSelectableUtilisateurs {
        my $query = "select concat(concat(ucase(usnom),', '), usprenom) as utilisateur " .
                    "FROM utilisateurs ";
        $query .= "WHERE usactif='' order by usnom,usprenom";
        PushGlobalSQLState();
        SendSQL($query);
        my @utilisateurs = ();
        push(@utilisateurs, FetchSQLData()) while MoreSQLData();
        PopGlobalSQLState();
        return (@utilisateurs);
    }

    enter_bug.cgi:
    my @utilisateurs = ();
    my $utilisateurs = $cgi->param('utilisateurs');
    foreach my $u (GetSelectableUtilisateurs()) {
        push @utilisateurs, $u;
    }

    create.html.tmpl:
      <tr>
        <td align="right"><strong>Utilisateur :</strong></td>
        <td colspan="3">
    <select name="utilisateur" id="utilisateur">
            <option value=""></option>
            [% FOREACH u = utilisateurs %]
              <option value="[% u FILTER html %]">
               
                [% u FILTER html %]</option>
            [% END %]
          </select>
        </td>
      </tr>

    Dans create.html.tmpl, si je remplace le foreach par un "forearch u = ['utilisateur1','utisateur2']", le boucle se fait bien et affiche ce qui est dans le tableau spcifi.

    Je vais voir comment insrer le nom de l'usager dans les tables une fois que je vais tre capable d'afficher la liste. Une chose  la fois.

    Merci beaucoup,
    Franois

     
    • Emmanuel Seyman

      Emmanuel Seyman - 2005-03-14

      > Dans create.html.tmpl, si je remplace le foreach par un "forearch u = ['utilisateur1','utisateur2']", le boucle se fait bien et affiche ce qui est dans le tableau spcifi.

      S'il s'agit de Bugzilla 2.18, c'est normal.
      Le passage vers 2.18 s'est accompagn d'un passage vers la programmation orient objet. Pour rajouter une variable dans les formulaires de saisie et de modification, il faut que cette variable soit dans l'objet bug, defini dans Bugzilla/Bug.pm.
      Je pourrais t'en dire plus demain.

       
    • Emmanuel Seyman

      Emmanuel Seyman - 2005-03-15

      > Je pourrais t'en dire plus demain.

      Je disais donc :

      Dans Bugzilla 2.18, les developpeurs ont choisi une approche objet pour leur application.
      On a donc un objet bug, dont les attributs sont definis dans le fichier Bugzilla/Bug.pm.
      Cet objet est la seule variable passe aux templates lors de l'affichage de la page et, si on veut ajouter une variable, c'est dans ce fichier qu'il faut l'ajouter.

      C'est relativement simple a faire (encore que je n'ai eu qu'a rcuprer la liste des mots-cls pour les proposer dans un menu droulant) mais je ne sais pas ce qu'il faut magouiller dans la base de donne pour permettre l'ajout d'un nouveau champ.

      Afin, je prefre citer Gervase Markham, dveloppeur Bugzilla qui explique pourquoi les champs personaliss sont dconseills : http://www.bugzilla.org/docs/tip/html/cust-templates.html

       

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.