Changeset 73496 in spip-zone


Ignore:
Timestamp:
Jun 11, 2013, 10:50:14 AM (6 years ago)
Author:
kent1@…
Message:

On commence à imaginer une autorisation d'institution complexe en préparant le boulot

la liste des statuts de la fonction tickets_liste_statut (qui renvoit un tableau des statuts pour les formulaires) est filtrée par l'autorisation instituer (autoriser('instituer','ticket',$id_ticket,$GLOBALSvisiteur_session?,array('statut'=>$statut)))

Le mini formulaire #FORMULAIRE_STATUT_TICKET utilise la fonction tickets_liste_statut() pour lister les statuts possibles.

Le sélecteur de statut du formulaire #FORMULAIRE_EDITER_TICKET passe en bas du formulaire, semble plus logique

Location:
_plugins_/tickets/trunk
Files:
4 edited

Legend:

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

    r73494 r73496  
    1717                                explication=<:tickets:explication_champ_sticked:>})]]
    1818                       
    19                         [(#ENV{id_ticket}|intval|oui)
    20                         [(#SAISIE{selection, statut,
    21                                 label=<:tickets:champ_statut:>,
    22                                 cacher_option_intro=oui,
    23                                 datas=[(#SESSION{id_auteur}|tickets_liste_statut)]})]]
     19                       
    2420
    2521                        [(#AUTORISER{assigner,ticket,#ENV{id_ticket}}|oui)
     
    7167                                label=<:tickets:champ_url_exemple:>,
    7268                                explication=<:tickets:explication_url_exemple:>})]
     69
     70                        [(#ENV{id_ticket}|intval|oui)
     71                        [(#SAISIE{selection, statut,
     72                                label=<:tickets:champ_statut:>,
     73                                cacher_option_intro=oui,
     74                                datas=[(#ENV{id_ticket}|tickets_liste_statut)]})]]
    7375                </ul>
    7476                <!--extra-->
  • _plugins_/tickets/trunk/formulaires/statut_ticket.html

    r73495 r73496  
     1<B_statuts>
    12<div class="formulaire_spip formulaire_editer formulaire_editer_statut_ticket ajax">
    23        [<p class="reponse_formulaire reponse_formulaire_ok">(#ENV*{message_ok})</p>]
    34        [<p class="reponse_formulaire reponse_formulaire_erreur">(#ENV*{message_erreur})</p>]
    4         <form method='post' action='#ENV{action}' enctype='multipart/form-data'><div>
     5        <form method='post' action='#ENV{action}'><div>
    56                [(#REM) declarer les hidden qui declencheront le service du formulaire
    67                parametre : url d'action ]
     
    1011                                <label for="statut"><:tickets:champ_statut:></label>
    1112                                <select name="statut" id="statut" class="text" onchange="jQuery('#validation_bouton_statut').slideDown();">
    12                                         <option value="ouvert"[(#ENV{statut}|=={ouvert}|?{" selected='selected'",""})]>[(#VAL{ouvert}|tickets_texte_statut)]</option>
    13                                         <option value="resolu"[(#ENV{statut}|=={resolu}|?{" selected='selected'",""})]>[(#VAL{resolu}|tickets_texte_statut)]</option>
    14                                         <option value="ferme"[(#ENV{statut}|=={ferme}|?{" selected='selected'",""})]>[(#VAL{ferme}|tickets_texte_statut)]</option>
    15                                         <option value="poubelle"[(#ENV{statut}|=={poubelle}|?{" selected='selected'",""})]>[(#VAL{poubelle}|tickets_texte_statut)]</option>
     13                                        <BOUCLE_statuts(DATA){source tableau,#ENV{id_ticket}|tickets_liste_statut}>
     14                                        <option value="#CLE"[(#ENV{statut}|=={#CLE}|oui)selected='selected']>[(#VALEUR)]</option>
     15                                        </BOUCLE_statuts>
    1616                                </select>
    1717                        </li>
     
    2222        </div></form>
    2323</div>
     24</B_statuts>
  • _plugins_/tickets/trunk/inclure/inc-tickets_formulaire_forum.html

    r72916 r73496  
    2121                cacher_option_intro=oui,
    2222                valeur_forcee=#ENV{ticket_statut,#STATUT},
    23                 datas=[(#SESSION{id_auteur}|tickets_liste_statut)]})]
     23                datas=[(#ID_TICKET|tickets_liste_statut)]})]
    2424        </ul>
    2525</fieldset>
  • _plugins_/tickets/trunk/tickets_fonctions.php

    r73495 r73496  
    204204}
    205205
    206 function tickets_liste_statut($connecte = true){
     206/**
     207 * Lister les statuts affichés dans les sélecteurs
     208 *
     209 * On teste les autorisations à instituer à ce niveau de statut
     210 *
     211 * @param int $id_ticket
     212 *              L'identifiant numérique du ticket
     213 * @return array $statuts
     214 *              La liste des statuts autorisés
     215 */
     216function tickets_liste_statut($id_ticket = null){
    207217        $statuts = array(
    208218                "ouvert" => _T("tickets:statut_ouvert"),
     
    211221                "poubelle" => _T("tickets:statut_poubelle")
    212222        );
     223        include_spip('inc/autoriser');
     224        foreach($statuts as $statut => $titre){
     225                if(!autoriser('instituer','ticket',$id_ticket,$GLOBALS['visiteur_session'],array('statut'=>$statut)))
     226                        unset($statuts[$statut]);
     227        }
    213228        return $statuts;
    214229}
Note: See TracChangeset for help on using the changeset viewer.