Changeset 81170 in spip-zone


Ignore:
Timestamp:
Mar 4, 2014, 9:17:51 AM (5 years ago)
Author:
severo@…
Message:

tickets - habiliter "créer et associer" un ticket.

Permet d'appeler "créer et associer un ticket" depuis
la page d'un article, par exemple, et revenir sur la
page de cet article une fois le ticket créé (le ticket
ayant été associé à cet article).

Location:
_plugins_/tickets/trunk
Files:
2 edited

Legend:

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

    r80807 r81170  
    2323 * @param string $retour[optional]
    2424 *              URL de retour
     25 * @param string $associer_objet[optional]
     26 *              Objet à lier au ticket (ex: "article|12")
    2527 * @param string $config_fonc[optional]
    2628 *              Fonction de configuration du formulaire
     
    2830 * @return string
    2931 */
    30 function formulaires_editer_ticket_identifier($id_ticket='new', $retour='', $config_fonc='tickets_edit_config', $row=array(), $hidden=''){
     32function formulaires_editer_ticket_identifier($id_ticket='new', $retour='', $associer_objet='', $config_fonc='tickets_edit_config', $row=array(), $hidden=''){
    3133        return serialize(array(intval($id_ticket)));
    3234}
     
    3941 * @param string $retour[optional]
    4042 *              URL de retour
     43 * @param string $associer_objet[optional]
     44 *              Objet à lier au ticket (ex: "article|12")
    4145 * @param string $config_fonc[optional]
    4246 *              Fonction de configuration du formulaire
     
    4549 *              Un tableau des valeurs chargées au formulaire
    4650 */
    47 function formulaires_editer_ticket_charger($id_ticket='new', $retour='', $config_fonc='tickets_edit_config', $row=array(), $hidden=''){
     51function formulaires_editer_ticket_charger($id_ticket='new', $retour='', $associer_objet='', $config_fonc='tickets_edit_config', $row=array(), $hidden='', $v1, $v2, $v3, $v4, $associer_objet=''){
    4852        // mettre une valeur new pour formulaires_editer_objet_charger()
    49        
    5053        if (!intval($id_ticket)) $id_ticket='oui'; // oui pour le traitement de l'action (new, c'est pas suffisant)
    5154
     
    9093 * @param string $retour[optional]
    9194 *              URL de retour
     95 * @param string $associer_objet[optional]
     96 *              Objet à lier au ticket (ex: "article|12")
    9297 * @param string $config_fonc[optional]
    9398 *              Fonction de configuration du formulaire
     
    96101 *              Un tableau des erreurs de validation
    97102 */
    98 function formulaires_editer_ticket_verifier($id_ticket='new', $retour='', $config_fonc='tickets_edit_config', $row=array(), $hidden=''){
     103function formulaires_editer_ticket_verifier($id_ticket='new', $retour='', $associer_objet='', $config_fonc='tickets_edit_config', $row=array(), $hidden=''){
    99104
    100105        $erreurs = formulaires_editer_objet_verifier('ticket',$id_ticket,array('titre','texte'));
     
    190195 *              Un tableau des éléments de retour du formulaire CVT
    191196 */
    192 function formulaires_editer_ticket_traiter($id_ticket='new',$retour='', $config_fonc='tickets_edit_config', $row=array(), $hidden=''){
     197function formulaires_editer_ticket_traiter($id_ticket='new',$retour='', $associer_objet='', $config_fonc='tickets_edit_config', $row=array(), $hidden=''){
    193198        $res = formulaires_editer_objet_traiter('ticket',$id_ticket,0,0,$retour,$config_fonc,$row,$hidden);
    194199       
     
    214219                                $message['redirect'] = parametre_url($retour, 'id_ticket', $res['id_ticket']);
    215220                }
    216         }
     221                if ($associer_objet){
     222                        if (intval($associer_objet)){
     223                                // compat avec l'appel de la forme ajouter_id_article
     224                                $objet = 'article';
     225                                $id_objet = intval($associer_objet);
     226                        }
     227                        else {
     228                                list($objet,$id_objet) = explode('|',$associer_objet);
     229                        }
     230                        if ($objet AND $id_objet AND autoriser('modifier',$objet,$id_objet)){
     231                                include_spip('action/editer_liens');
     232                                objet_associer(array('ticket'=>$res['id_ticket']), array($objet=>$id_objet));
     233                                if (isset($res['redirect']))
     234                                        $res['redirect'] = parametre_url ($res['redirect'], "id_lien_ajoute", $res['id_ticket'], '&');
     235                        }
     236                }
     237        }
     238
    217239        return $message;
    218240}
  • _plugins_/tickets/trunk/prive/squelettes/contenu/ticket_edit.html

    r58438 r81170  
    22        [(#AUTORISER{modifier,ticket,#ID_TICKET}|sinon_interdire_acces)]
    33][(#ID_TICKET|intval|non)
    4         [(#AUTORISER{creer,ticket}|sinon_interdire_acces)]
     4        [(#AUTORISER{creer,ticket,#ID_TICKET,'','',#ARRAY{associer_objet,#ENV{associer_objet}}}|sinon_interdire_acces)]
    55]
    66#SET{retour,#ENV{redirect}|sinon{#ID_TICKET|intval|?{#URL_ECRIRE{ticket,id_ticket=#ID_TICKET},#URL_ECRIRE{tickets}}}}
     
    2020                <div class="ajax">
    2121        ]
    22         #FORMULAIRE_EDITER_TICKET{#ENV{id_ticket,oui},#GET{redirect}}
     22        #FORMULAIRE_EDITER_TICKET{#ENV{id_ticket,oui},#GET{redirect},#ENV{associer_objet}}
    2323        [(#ENV{retourajax,''}|oui)
    2424                </div>
Note: See TracChangeset for help on using the changeset viewer.