Changeset 28779 in spip-zone


Ignore:
Timestamp:
May 22, 2009, 9:35:32 PM (12 years ago)
Author:
kent1@…
Message:

Début d'un second débroussaillage suite à celui de Sarkasmel, au menu :

  • Passage en CVT du formulaire d'édition de tickets permettant de l'utiliser dans l'espace public à terme
  • Passage de la création et update des tickets par une action, chaque modifictaion en base devrait se faire à travers cette action.
  • Des chaines de langues encore un peu plus internationnalisées
  • Le contenu de mes_options n'est plus nécessaire en spip 2.0 qui a ces variables par défaut dorénavant

Work in progress donc certains bugs peuvent survenir... à signaler sur la liste spip-zone ou IRC ;)

Location:
_plugins_/_stable_/tickets
Files:
5 added
1 deleted
6 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/_stable_/tickets/exec/ticket_editer.php

    r28085 r28779  
    11<?php
    22// Traitement de la page d'edition d'un ticket
    3 function exec_ticket_editer () {
    43
    5         $id_ticket = $_GET["id_ticket"];
     4if (!defined("_ECRIRE_INC_VERSION")) return;
    65
    7         include_spip('inc/presentation');
    8         include_spip('inc/texte');
     6include_spip('inc/presentation');
    97
    10         global $connect_statut, $connect_toutes_rubriques, $connect_id_auteur;
    11                
    12         $contexte = array("id_ticket"=>$id_ticket);
    13         $contexte["titre"] = "Nouveau ticket";
    14         $contexte["severite"] = 4;
    15                
    16         $query = sql_query("SELECT * FROM spip_tickets WHERE id_ticket = $id_ticket");
    17         if ($row = sql_fetch($query)) {
    18                 $contexte["titre"] = htmlspecialchars($row["titre"]);
    19                 $contexte["texte"] = htmlspecialchars($row["texte"]);
    20                 $contexte["severite"] = $row["severite"];
    21                 $contexte["type"] = $row["type"];
    22                 $contexte["statut"] = $row["statut"];
    23                 $contexte["id_auteur"] = $row["id_auteur"];
    24                 $contexte["id_assigne"] = $row["id_assigne"];
    25                 $contexte["exemple"] = htmlspecialchars($row["exemple"]);
    26                 $contexte["composant"] = htmlspecialchars($row["composant"]);
    27                 $contexte["jalon"] = htmlspecialchars($row["jalon"]);
    28                 $contexte["version"] = htmlspecialchars($row["version"]);
    29                 $contexte["projet"] = htmlspecialchars($row["projet"]);
     8function exec_ticket_editer() {
     9
     10        $id_ticket = _request('id_ticket') ? _request('id_ticket') : 'new';
     11       
     12        $contexte = array('id_ticket'=>$id_ticket);
     13       
     14        if(intval($id_ticket)){
     15                $contexte['titre'] = sql_getfetsel("titre","spip_tickets","id_ticket=$id_ticket");
     16        }else{
     17                $contexte['titre'] = _T('tickets:creer_nouveau_ticket');
    3018        }
    31 
    32         $titre_page = _L('Tickets, syst&egrave;me de suivi de bugs');
     19       
     20        $titre_page = _T('tickets:page_titre');
    3321        // Permet entre autres d'ajouter les classes à la page : <body class='$rubrique $sous_rubrique'>
    3422        $rubrique = "forum";
     
    3624
    3725        $commencer_page = charger_fonction('commencer_page', 'inc');
    38         echo($commencer_page(_L('Tickets, suivi de bugs') . " - " . $titre_page, $rubrique, $sous_rubrique));
     26        echo($commencer_page($titre_page.' - '.$contexte['titre'], $rubrique, $sous_rubrique));
    3927
    4028        echo "<br /><br />";
    4129       
    42 
    4330        echo debut_gauche("",true);
    4431        echo debut_droite("",true);
  • _plugins_/_stable_/tickets/lang/tickets_fr.php

    r28250 r28779  
    11<?php
    22
    3 // Sécurité
     3// This is a SPIP language file  --  Ceci est un fichier langue de SPIP
    44if (!defined("_ECRIRE_INC_VERSION")) return;
    55
    66$GLOBALS[$GLOBALS['idx_lang']] = array(
     7        // A
     8        'assignes_a' => 'Assign&eacute;s &agrave;',
     9       
     10        // C
    711        'champ_composant' => 'Composant',
    812        'champ_date' => 'Date',
     13        'champ_description' => 'Description du ticket',
    914        'champ_exemple' => 'Exemple',
    1015        'champ_importance' => 'Importance',
    1116        'champ_jalon' => 'Jalon',
    1217        'champ_projet' => 'Projet',
     18        'champ_severite' => 'S&eacute;v&eacute;rit&eacute;',
    1319        'champ_titre' => 'R&eacute;sum&eacute;',
     20        'champ_titre_ticket' => 'Titre du ticket',
    1421        'champ_type' => 'Type',
     22        'champ_url_exemple' => 'URL d&rsquo;exemple',
    1523        'champ_version' => 'Version',
    16 
    17         'assignes_a' => 'Assign&eacute;s &agrave;',
    18         'non_assignes' => 'Non assign&eacute;s',
    19        
    2024        'classement_assigne' => 'Tickets par assignation',
    2125        'classement_asuivre' => 'Vos tickets &agrave; suivre',
     
    2327        'classement_termine' => 'Tickets termin&eacute;s',
    2428        'classement_type' => 'Tickets par type',
    25        
    2629        'creer_ticket' => 'Cr&eacute;er un ticket',
    2730       
     31        // E
     32        'explication_description_ticket' => 'D&eacute;crivez aussi pr&eacute;cis&eacute;ment que possible le besoin ou le probl&egrave;me rencontr&eacute;.
     33        Indiquez en particulier s&rsquo;il se produit syst&eacute;matiquement ou occasionnellement.
     34        S&rsquo;il s&rsquo;agit d&rsquo;un probl&egrave;me d\'affichage, pr&eacute;cisez avec quel navigateur vous le rencontrez.',
     35        'explication_url_exemple' => 'Indiquez ici l&rsquo;URL d&rsquo;une page concern&eacute;e par ce ticket.',
     36       
     37        // N
     38        'non_assignes' => 'Non assign&eacute;s',
     39        'nouveau_ticket' => 'Nouveau ticket',
     40       
     41        // P
     42        'page_titre' => 'Tickets, syst&egrave;me de suivi de bugs',
     43       
     44        // S
    2845        'statut_ferme' => 'Ferm&eacute;',
    2946        'statut_ferme_long' => 'Tous les tickets ferm&eacute;s',
     
    3350        'statut_resolu_long' => 'Tous les tickets r&eacute;solus',
    3451       
     52        // T
     53        'ticket' => 'Ticket',
    3554        'titre' => 'Tickets, suivi de bugs',
    3655        'titre_liste' => 'Liste des tickets',
    3756        'tous_tickets_ouverts' => 'Tous les tickets ouverts',
    38        
    3957        'type_amelioration' => 'Am&eacute;lioration',
    4058        'type_amelioration_long' => 'Les tickets demandant une am&eacute;lioration',
     
    4462        'type_tache_long' => 'Les t&acirc;ches &agrave; accomplir',
    4563       
     64        // V
    4665        'vos_tickets_assignes' => 'Les tickets qui vous sont assign&eacute;s',
    47         'vos_tickets_en_cours' => 'Vos tickets en cours de r&eacute;daction'
     66        'vos_tickets_en_cours' => 'Vos tickets en cours de r&eacute;daction',
     67       
     68        // Z
     69        'z' => 'zzz'
    4870);
    4971
  • _plugins_/_stable_/tickets/plugin.xml

    r28102 r28779  
    1515       
    1616        <prefix>tickets</prefix>
    17        
    18         <options>tickets_options.php</options>
     17
    1918        <fonctions>tickets_fonctions.php</fonctions>
    2019        <install>base/tickets_upgrade.php</install>
     
    4645                <nom>autoriser</nom>
    4746                <inclure>inc/tickets_autoriser.php</inclure>
    48       </pipeline>
     47        </pipeline>
    4948       
    5049        <necessite id="SPIP" version="[2.0.0;]" />
  • _plugins_/_stable_/tickets/prive/contenu/inc_classement_assigne.html

    r28250 r28779  
    44#CACHE{0}
    55
    6 <BOUCLE_assigne(spip_tickets){statut = ouvert}{!par id_assigne}{fusion id_assigne}>
     6<BOUCLE_assigne(TICKETS){statut = ouvert}{!par id_assigne}{fusion id_assigne}>
    77        [(#SET{no_bloc, [_bloc(#ID_ASSIGNE)]})]
    88        <BOUCLE_auteur(AUTEURS){id_auteur=#ID_ASSIGNE}>
  • _plugins_/_stable_/tickets/prive/contenu/tickets.html

    r28204 r28779  
    2424                <a href="[(#SELF|parametre_url{classement,termine})]" class="cellule-h">[(#CHEMIN{imgs/bugs.png}|image_reduire{24}|vider_attribut{style}|inserer_attribut{style,vertical-align:middle;}|inserer_attribut{alt,<:tickets:classement_termine:>})] <:tickets:classement_termine:></a>
    2525        </li>
    26 [(#EVAL{_TICKETS_LISTE_JALONS}|!={_TICKETS_LISTE_JALONS}|?{' '})
     26[(#EVAL{_TICKETS_LISTE_JALONS}|!={_TICKETS_LISTE_JALONS}|oui)
    2727        <li class="[(#ENV{classement}|=={jalon}|?{fondgrison,fondgris})]">
    2828                <a href="[(#SELF|parametre_url{classement,jalon})]" class="cellule-h">[(#CHEMIN{imgs/bugs.png}|image_reduire{24}|vider_attribut{style}|inserer_attribut{style,vertical-align:middle;}|inserer_attribut{alt,<:tickets:classement_jalon:>})] <:tickets:classement_jalon:></a>
  • _plugins_/_stable_/tickets/prive/editer/ticket.html

    r28152 r28779  
    11[(#REM) Squelette du formulaire de la page d'edition d'un ticket (exec=ticket_editer)]
    22<div class="entete-formulaire">
    3 [(#ID_TICKET|!={new}|oui)
    4         [(#ID_TICKET|tickets_bouton_retour{#CHEMIN{imgs/bugs.png}, #LANG_LEFT})]
    5         <span class="arial1 spip_small"><b>Ticket ##ID_TICKET</b></span>
     3[(#ENV{id_ticket}|intval|oui)
     4        [(#ENV{id_ticket}|tickets_bouton_retour{#CHEMIN{imgs/bugs.png}, #LANG_LEFT})]
     5        <span class="arial1 spip_small"><strong><:tickets:ticket:> ##ENV{id_ticket}</strong></span>
     6        <h1>[(#ENV{titre}|typo)]</h1>
    67]
    7         <h1>[(#ENV{titre}|typo)]</h1>
     8[(#ENV{id_ticket}|intval|non)
     9        <h1><:tickets:creer_nouveau_ticket:></h1>
     10]
    811</div>
    912
    10 <div class="formulaire_spip formulaire_editer formulaire_editer_ticket formulaire_editer_ticket-#ENV{id_ticket,nouveau}">
    11         <form method="post" action="?exec=ticket_afficher&amp;id_ticket=#ENV**{id_ticket}"><div>
    12                 <input type='hidden' name='modifier_ticket' value='#ENV**{id_ticket}' />
    13                 <ul>
    14                         <li class="editer_titre obligatoire " >
    15                                 <label for="titre">Titre du ticket</label><input type='text' class='text' name='titre' id='titre' value="[(#ENV**{titre,#REM|concat{info_nouvel_article}|_T})]" />
    16                         </li>
    17                         <li>
    18                                 <label for="type">Type</label><select name="type" id="type">
    19                                         <option value="1" [(#ENV**{type}|=={1}|?{" selected='selected'",""})]>[(#VAL{1}|tickets_texte_type)]</option>
    20                                         <option value="2" [(#ENV**{type}|=={2}|?{" selected='selected'",""})]>[(#VAL{2}|tickets_texte_type)]</option>
    21                                         <option value="3" [(#ENV**{type}|=={3}|?{" selected='selected'",""})]>[(#VAL{3}|tickets_texte_type)]</option>
    22                                 </select>
    23                         </li>
    24                         <li>
    25                                 <label for="severite">S&eacute;v&eacute;rit&eacute;</label><select name="severite" id="severite">
    26                                         <option value="1" [(#ENV**{severite}|=={1}|?{" selected='selected'",""})]>[(#VAL{1}|tickets_texte_severite)]</option>
    27                                         <option value="2" [(#ENV**{severite}|=={2}|?{" selected='selected'",""})]>[(#VAL{2}|tickets_texte_severite)]</option>
    28                                         <option value="3" [(#ENV**{severite}|=={3}|?{" selected='selected'",""})]>[(#VAL{3}|tickets_texte_severite)]</option>
    29                                         <option value="4" [(#ENV**{severite}|=={4}|?{" selected='selected'",""})]>[(#VAL{4}|tickets_texte_severite)]</option>
    30                                 </select>
    31                         </li>
    32 
    33                         [<li>
    34                                 <label for="projet">Projet</label>
    35                                 <select name="projet" id="projet">(#VAL{projet}|tickets_select_champ_optionnel{#ENV**{projet}})</select>
    36                         </li>]
    37                         [<li>
    38                                 <label for="composant">Composant</label>
    39                                 <select name="composant" id="composant">(#VAL{composant}|tickets_select_champ_optionnel{#ENV**{composant}})</select>
    40                         </li>]
    41                         [<li>
    42                                 <label for="version">Version</label>
    43                                 <select name="version" id="version">(#VAL{version}|tickets_select_champ_optionnel{#ENV**{version}})</select>
    44                         </li>]
    45                         [<li>
    46                                 <label for="jalon">Jalon</label>
    47                                 <select name="jalon" id="jalon">(#VAL{jalon}|tickets_select_champ_optionnel{#ENV**{jalon}})</select>
    48                         </li>]
    49                
    50                         <li class="editer_texte editer_parent">
    51                                 <label for="text_area">Description du ticket</label>
    52                                 <div class="explication">
    53                                 D&eacute;crivez aussi pr&eacute;cis&eacute;ment que possible le besoin ou le probl&egrave;me rencontr&eacute;.
    54                                 Indiquez en particulier s&rsquo;il se produit syst&eacute;matiquement ou occasionnellement.
    55                                 S&rsquo;il s&rsquo;agit d&rsquo;un probl&egrave;me d'affichage, pr&eacute;cisez avec quel navigateur vous le rencontrez.
    56                                 </div>
    57                                 [(#VAL{text_area}|barre_typo{#LANGUE})]
    58                                 <textarea name='texte' id='text_area' class='barre_inserer' rows='20' cols='50'[(#ENV**{browser_caret,''})]>[(#ENV**{texte})]</textarea>
    59                         </li>
    60                         <li>
    61                                 <label for="exemple">URL d&rsquo;exemple</label>
    62                                 <div class="explication">Indiquez ici l&rsquo;URL d&rsquo;une page concern&eacute;e par ce ticket.</div>
    63                                 <input type='text' class='text' name='exemple' id='exemple' value="[(#ENV**{exemple})]" />
    64                         </li>
    65                 </ul>
    66                 <p class='boutons'><input type='submit' class='submit' value='<:bouton_enregistrer:>' /></p>
    67         </div></form>
    68 </div>
     13#FORMULAIRE_EDITER_TICKET{#ENV{id_ticket}}
Note: See TracChangeset for help on using the changeset viewer.