Changeset 98413 in spip-zone


Ignore:
Timestamp:
Jun 14, 2016, 4:59:34 PM (3 years ago)
Author:
tcharlss@…
Message:

Corrections sur l'utilisation du pipeline document_desc_actions : ne pas définir systématiquement l'objet et l'id_objet d'après la page en cours, prendre en priorité les paramètres objet et id_objet passés au pipeline.
Le document dont on édite le rôle n'est pas forcément lié à l'objet de la page en cours, il peut être lié à un objet lui-même lié à l'objet de la page en cours (un album lié à un article par ex.).
On peut également passer 'ajaxreload' en paramètre pour définir le bloc à recharger (sinon #documents par défaut, comme avant).
Up de Z : version 1.0.3

Location:
_plugins_/roles_documents/trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/roles_documents/trunk/paquet.xml

    r98408 r98413  
    22        prefix="roles_documents"
    33        categorie="edition"
    4         version="1.0.2"
     4        version="1.0.3"
    55        etat="dev"
    66        compatibilite="[3.1.1;3.2.*]"
  • _plugins_/roles_documents/trunk/roles_documents_pipelines.php

    r98387 r98413  
    2121        include_spip('inc/autoriser');
    2222       
    23         $texte = "";
    24         $e = trouver_objet_exec(_request('exec'));
     23        $texte               = "";
     24        $exec                = trouver_objet_exec(_request('exec'));
     25        $objet_exec          = $exec['type'];
     26        $id_table_objet_exec = $exec['id_table_objet'];
     27        $id_objet_exec       = intval(_request($id_table_objet_exec));
     28        // soit objet et id_objet sont passés en paramètre, soit on prend l'objet édité sur la page
     29        $objet               = !empty($flux['args']['objet']) ? $flux['args']['objet'] : $objet_exec;
     30        $id_objet            = !empty($flux['args']['id_objet']) ? $flux['args']['id_objet'] : $id_objet_exec;
    2531
    2632        if (
    27                 $e !== false // page d'un objet éditorial
    28                 AND $e['edition'] === false // pas en mode édition
    29                 AND $id_document = intval($flux['args']['id_document'])
     33                $exec !== false // page d'un objet éditorial
     34                and $exec['edition'] === false // pas en mode édition
     35                and $id_document = intval($flux['args']['id_document'])
    3036                // AND ($media=sql_getfetsel('media','spip_documents',"id_document=".$id_document)=='image') // que pour les images
    31                 AND $objet = $e['type'] // article
    32                 AND $id_table_objet = $e['id_table_objet'] // id_article
    33                 AND $id_objet = intval(_request($id_table_objet))
    34                 AND autoriser('modifier', 'document', $id_document)
     37                and autoriser('modifier', 'document', $id_document)
     38                and $objet
     39                and $id_objet
    3540        ) {
    3641                // description des roles
    3742                include_spip('inc/roles');
    3843                $roles = roles_presents('document', $objet);
     44                // bloc à recharger
     45                $ajaxreload = !empty($flux['args']['ajaxreload']) ? $flux['args']['ajaxreload'] : '#documents';
    3946                // mini-formulaire
    4047                $form = recuperer_fond('prive/squelettes/inclure/editer_roles_objet_lie',
    4148                        array(
    42                                 'objet_source' => "document",
     49                                'objet_source'    => "document",
    4350                                'id_objet_source' => $id_document,
    44                                 'objet' => $objet,
    45                                 'id_objet' => $id_objet,
     51                                'objet'           => $objet,
     52                                'id_objet'        => $id_objet,
    4653                                'options' => array(
    47                                         'ajaxReload' => '#documents',
     54                                        'ajaxReload' => $ajaxreload,
    4855                                ),
    4956                        )
Note: See TracChangeset for help on using the changeset viewer.