Valider dfe138c4 rédigé par tcharlss@bravecassine.com's avatar tcharlss@bravecassine.com
Parcourir les fichiers

Corrections sur l'utilisation du pipeline `document_desc_actions` : ne pas...

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
parent 1f029694
Chargement en cours
Chargement en cours
Chargement en cours
Chargement en cours
+1 −1
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
<paquet
	prefix="roles_documents"
	categorie="edition"
	version="1.0.2"
	version="1.0.3"
	etat="dev"
	compatibilite="[3.1.1;3.2.*]"
	logo="prive/themes/spip/images/roles_documents-48.png"
+20 −13
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
@@ -21,21 +21,28 @@ function roles_documents_document_desc_actions($flux) {
	include_spip('inc/autoriser');
	
	$texte               = "";
	$e = trouver_objet_exec(_request('exec'));
	$exec                = trouver_objet_exec(_request('exec'));
	$objet_exec          = $exec['type'];
	$id_table_objet_exec = $exec['id_table_objet'];
	$id_objet_exec       = intval(_request($id_table_objet_exec));
	// soit objet et id_objet sont passés en paramètre, soit on prend l'objet édité sur la page
	$objet               = !empty($flux['args']['objet']) ? $flux['args']['objet'] : $objet_exec;
	$id_objet            = !empty($flux['args']['id_objet']) ? $flux['args']['id_objet'] : $id_objet_exec;

	if (
		$e !== false // page d'un objet éditorial
		AND $e['edition'] === false // pas en mode édition
		AND $id_document = intval($flux['args']['id_document'])
		$exec !== false // page d'un objet éditorial
		and $exec['edition'] === false // pas en mode édition
		and $id_document = intval($flux['args']['id_document'])
		// AND ($media=sql_getfetsel('media','spip_documents',"id_document=".$id_document)=='image') // que pour les images
		AND $objet = $e['type'] // article
		AND $id_table_objet = $e['id_table_objet'] // id_article
		AND $id_objet = intval(_request($id_table_objet))
		AND autoriser('modifier', 'document', $id_document)
		and autoriser('modifier', 'document', $id_document)
		and $objet
		and $id_objet
	) {
		// description des roles
		include_spip('inc/roles');
		$roles = roles_presents('document', $objet);
		// bloc à recharger
		$ajaxreload = !empty($flux['args']['ajaxreload']) ? $flux['args']['ajaxreload'] : '#documents';
		// mini-formulaire
		$form = recuperer_fond('prive/squelettes/inclure/editer_roles_objet_lie',
			array(
@@ -44,7 +51,7 @@ function roles_documents_document_desc_actions($flux) {
				'objet'           => $objet,
				'id_objet'        => $id_objet,
				'options' => array(
					'ajaxReload' => '#documents',
					'ajaxReload' => $ajaxreload,
				),
			)
		);