Changeset 31387 in spip-zone


Ignore:
Timestamp:
Sep 7, 2009, 3:52:25 PM (10 years ago)
Author:
marcimat@…
Message:
  • Mettre les messages d'erreurs sur les champs CVT. Pour ça, par simplicité, on utilise Saisies (et Bonux, j'en suis désolé). Application au formulaire d'édition.
  • Reprise un peu du code des définitions de champs. C'est pas encore gégé.
Location:
_plugins_/tickets
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/tickets/formulaires/editer_ticket.html

    r31301 r31387  
    99                <input type='hidden' name='id_ticket' value='#ID_TICKET' />
    1010                <ul>
    11                         <li class="editer_titre obligatoire">
    12                                 <label for="titre"><:tickets:champ_titre_ticket:></label>
    13                                 <input type='text' class='text' name='titre' id='titre' value="[(#ENV**{titre,<:tickets:nouveau_ticket:>})]" />
    14                         </li>
    15                         <li class="editer_statut">
    16                                 <label for="statut"><:tickets:champ_statut:></label>
    17                                 <select name="statut" id="statut" onchange="$('#validation_bouton').slideDown();">
    18                                         [(#SESSION{id_auteur}|oui)<option value="redac" [(#ENV{statut}|=={redac}|?{" selected='selected'",""})]>[(#VAL{redac}|tickets_texte_statut)]</option>]
    19                                         <option value="ouvert" [(#ENV{statut}|=={ouvert}|?{" selected='selected'",""})]>[(#VAL{ouvert}|tickets_texte_statut)]</option>
    20                                         <option value="resolu" [(#ENV{statut}|=={resolu}|?{" selected='selected'",""})]>[(#VAL{resolu}|tickets_texte_statut)]</option>
    21                                         <option value="ferme" [(#ENV{statut}|=={ferme}|?{" selected='selected'",""})]>[(#VAL{ferme}|tickets_texte_statut)]</option>
    22                                 </select>
    23                         </li>
    24                         <li class="editer_type">
    25                                 <label for="type"><:tickets:champ_type:></label><select name="type" id="type">
    26                                         <option value="1" [(#ENV**{type}|=={1}|?{" selected='selected'",""})]>[(#VAL{1}|tickets_texte_type)]</option>
    27                                         <option value="2" [(#ENV**{type}|=={2}|?{" selected='selected'",""})]>[(#VAL{2}|tickets_texte_type)]</option>
    28                                         <option value="3" [(#ENV**{type}|=={3}|?{" selected='selected'",""})]>[(#VAL{3}|tickets_texte_type)]</option>
    29                                 </select>
    30                         </li>
    31                         <li class="editer_severite">
    32                                 <label for="severite"><:tickets:champ_severite:></label><select name="severite" id="severite">
    33                                         <option value="1" [(#ENV**{severite}|=={1}|?{" selected='selected'",""})]>[(#VAL{1}|tickets_texte_severite)]</option>
    34                                         <option value="2" [(#ENV**{severite}|=={2}|?{" selected='selected'",""})]>[(#VAL{2}|tickets_texte_severite)]</option>
    35                                         <option value="3" [(#ENV**{severite}|=={3}|?{" selected='selected'",""})]>[(#VAL{3}|tickets_texte_severite)]</option>
    36                                         <option value="4" [(#ENV**{severite}|=={4}|?{" selected='selected'",""})]>[(#VAL{4}|tickets_texte_severite)]</option>
    37                                 </select>
    38                         </li>
     11                        [(#SAISIE{input, titre,
     12                                label=<:tickets:champ_titre_ticket:>,
     13                                defaut=<:tickets:nouveau_ticket:>,
     14                                obligatoire=oui})]
    3915
    40                         [<li>
    41                                 <label for="projet"><:tickets:champ_projet:></label>
    42                                 <select name="projet" id="projet">(#VAL{projet}|tickets_select_champ_optionnel{#ENV**{projet}})</select>
    43                         </li>]
    44                         [<li class="editer_composant">
    45                                 <label for="composant"><:tickets:champ_composant:></label>
    46                                 <select name="composant" id="composant">(#VAL{composant}|tickets_select_champ_optionnel{#ENV**{composant}})</select>
    47                         </li>]
    48                         [<li class="editer_version">
    49                                 <label for="version"><:tickets:champ_version:></label>
    50                                 <select name="version" id="version">(#VAL{version}|tickets_select_champ_optionnel{#ENV**{version}})</select>
    51                         </li>]
    52                         [<li class="editer_jalon">
    53                                 <label for="jalon"><:tickets:champ_jalon:></label>
    54                                 <select name="jalon" id="jalon">(#VAL{jalon}|tickets_select_champ_optionnel{#ENV**{jalon}})</select>
    55                         </li>]
     16                        [(#SAISIE{selection, statut,
     17                                label=<:tickets:champ_statut:>,
     18                                datas=[(#VAL{#SESSION{id_auteur}}|tickets_liste_statuts)]})]
     19                               
     20                        [(#SAISIE{selection, type,
     21                                label=<:tickets:champ_type:>,
     22                                datas=[(#VAL|tickets_liste_types)]})]
     23                               
     24                        [(#SAISIE{selection, severite,
     25                                label=<:tickets:champ_severite:>,
     26                                datas=[(#VAL|tickets_liste_severite)]})]
    5627
    57                         <li class="editer_texte editer_parent">
    58                                 <label for="text_area"><:tickets:champ_description:></label>
    59                                 <div class="explication">
    60                                         <:tickets:explication_description_ticket:>
    61                                 </div>
    62                                 [(#SPIP_VERSION|<{2.1}|oui)
    63                                         [(#VAL{text_area}|barre_typo{#LANGUE})]
    64                                 ]
    65                                 <textarea name='texte' id='text_area' class='barre_inserer' rows='20' cols='50'[(#ENV**{browser_caret,''})]>[(#ENV**{texte})]</textarea>
    66                         </li>
    67                         <li class="editer_exemple">
    68                                 <label for="exemple"><:tickets:champ_url_exemple:></label>
    69                                 <div class="explication"><:tickets:explication_url_exemple:></div>
    70                                 <input type='text' class='text' name='exemple' id='exemple' value="[(#ENV**{exemple})]" />
    71                         </li>
     28
     29                        [(#REM) 4 fois la meme chose ]
     30                       
     31                        [(#VAL{projet}|tickets_champ_optionnel_actif|oui)
     32                                [(#SAISIE{selection, projet,
     33                                        label=<:tickets:champ_projet:>,
     34                                        datas=[(#VAL{projet}|tickets_champ_optionnel_actif)]})]
     35                        ]
     36                        [(#VAL{composant}|tickets_champ_optionnel_actif|oui)
     37                                [(#SAISIE{selection, composant,
     38                                        label=<:tickets:champ_composant:>,
     39                                        datas=[(#VAL{composant}|tickets_champ_optionnel_actif)]})]
     40                        ]
     41                        [(#VAL{version}|tickets_champ_optionnel_actif|oui)
     42                                [(#SAISIE{selection, version,
     43                                        label=<:tickets:champ_version:>,
     44                                        datas=[(#VAL{version}|tickets_champ_optionnel_actif)]})]
     45                        ]
     46                        [(#VAL{jalon}|tickets_champ_optionnel_actif|oui)
     47                                [(#SAISIE{selection, jalon,
     48                                        label=<:tickets:champ_jalon:>,
     49                                        datas=[(#VAL{jalon}|tickets_champ_optionnel_actif)]})]
     50                        ]
     51                       
     52                        [(#SAISIE{textarea, texte,
     53                                label=<:tickets:champ_description:>,
     54                                explication=<:tickets:explication_description_ticket:>,
     55                                obligatoire=oui,
     56                                class=inserer_barre_edition,
     57                                rows=20})]
     58                               
     59                        [(#SAISIE{input, exemple,
     60                                label=<:tickets:champ_url_exemple:>,
     61                                explication=<:tickets:explication_url_exemple:>})]     
    7262                </ul>
    7363                <!--extra-->
  • _plugins_/tickets/plugin.xml

    r31301 r31387  
    1010        <icon>imgs/logo-bugs.png</icon>
    1111
    12         <version>1.5.2</version>
     12        <version>1.6</version>
    1313        <version_base>0.6</version_base>
    1414        <etat>stable</etat>
     
    6464
    6565        <necessite id="SPIP" version="[2.0.0;]" />
     66        <necessite id="saisies" version="[1.3;]" />
     67        <!-- pour les boucles pour des "selections" de saisies, je suis vraiment sincerement desole -->
     68        <necessite id="spip_bonux" version="[1.8;]" />
    6669</plugin>
  • _plugins_/tickets/tickets_fonctions.php

    r31385 r31387  
    33// Creation de la liste des options du select des champ jalon, version, projet ou composant
    44function tickets_select_champ_optionnel($champ='', $en_cours){
    5         $options = NULL;
    6         if ($champ ==  '')
    7                 return $options;
     5        if (!$liste = tickets_champ_optionnel_actif($champ)) {
     6                return null;
     7        }
    88
    9         switch(strtolower($champ))
    10         {
    11                 case 'jalon':
    12                         if (defined('_TICKETS_LISTE_JALONS'))
    13                                 $define = _TICKETS_LISTE_JALONS;
    14                         break;
    15                 case 'version':
    16                         if (defined('_TICKETS_LISTE_VERSIONS'))
    17                                 $define = _TICKETS_LISTE_VERSIONS;
    18                         break;
    19                 case 'projet':
    20                         if (defined('_TICKETS_LISTE_PROJETS'))
    21                                 $define = _TICKETS_LISTE_PROJETS;
    22                         break;
    23                 case 'composant':
    24                         if (defined('_TICKETS_LISTE_COMPOSANTS'))
    25                                 $define = _TICKETS_LISTE_COMPOSANTS;
    26                         break;
    27                 default:
    28                         $define = '';
    29                         break;
    30         }
    31         if ($define ==  '')
    32                 return $options;
    33 
    34         $liste = explode(':', $define);
     9        $options = '';
    3510        foreach ($liste as $_item) {
    3611                if ($_item != '') {
     
    3914                }
    4015        }
    41 
    4216        return $options;
    4317}
     18
     19// retourne false si pas de champ defini
     20// sinon retourne un tableau des elements du champ
     21function tickets_champ_optionnel_actif($nom){
     22        $nom = '_TICKETS_LISTE_' . strtoupper($nom);
     23        if (!defined($nom)) {
     24                return false;
     25        }
     26        $liste = constant($nom);
     27        if ($liste == '') return false;
     28       
     29        return explode(':', $liste);
     30}
     31
    4432
    4533// Creation de la liste des options du select d'assignation
     
    10088}
    10189
    102 // Interpretation des valeurs de certains champs de la table ticket
    103 function tickets_texte_severite ($niveau) {
    104         if ($niveau == 1) return "bloquant";
    105         else if ($niveau == 2) return "important";
    106         else if ($niveau == 3) return "normal";
    107         else if ($niveau == 4) return "peu important";
     90// creation des fonction de selection de texte
     91// encore en truc a reprendre !
     92foreach (array('severite', 'type', 'statut') as $nom){
     93        eval("function tickets_texte_$nom(\$niveau) {
     94                \$type = tickets_liste_$nom();
     95                if (isset(\$type[\$niveau])) {
     96                        return \$type[\$niveau];
     97                }
     98        }");
    10899}
    109 function tickets_texte_type ($niveau) {
    110         if ($niveau == 1) return "probl&egrave;me";
    111         else if ($niveau == 2) return "am&eacute;lioration";
    112         else if ($niveau == 3) return "t&acirc;che";
    113 }
    114 function tickets_texte_statut ($niveau) {
    115         if ($niveau == "redac") return "en cours de r&eacute;daction";
    116         else if ($niveau == "ouvert") return "ouvert et discut&eacute;";
    117         else if ($niveau == "resolu") return "r&eacute;solu";
    118         else if ($niveau == "ferme") return "ferm&eacute;";
    119 }
     100
    120101function tickets_icone_statut ($niveau) {
    121102        if ($niveau == "redac") $img = "puce-blanche.gif";
     
    135116}
    136117
     118function tickets_liste_statuts($connecte = true){
     119        $statuts = array(
     120                "redac" => "en cours de r&eacute;daction",
     121                "ouvert" => "ouvert et discut&eacute",
     122                "resolu" => "r&eacute;solu",
     123                "ferme" => "ferme",
     124        );
     125        if (!$connecte) {
     126                unset($statuts['redac']);
     127        }
     128        return $statuts;
     129}
     130
     131
     132function tickets_liste_types(){
     133        return array(
     134                1 => "probl&egrave;me",
     135                2 => "am&eacute;lioration",
     136                3 => "t&acirc;che",
     137        );
     138}
     139
     140function tickets_liste_severite(){
     141        return array(
     142                1 => "bloquant",
     143                2 => "important",
     144                3 => "normal",
     145                4 => "peu important",
     146        );
     147}
     148
    137149if(!function_exists('barre_typo')){
    138150        function barre_typo(){
     
    140152        }
    141153}
    142 
    143154?>
Note: See TracChangeset for help on using the changeset viewer.