Autoriser Objet instituer

Bonjour,
Je sollicite votre aide car je bloque sur une autorisation pour mon plugin.
J’ai créé un nouvel objet et je souhaite que les rédacteurs puisse le proposer à l’évaluation mais pas le publier directement.

Dans mon fichier monobjet_autoriser, j’ai donc fait:

function autoriser_monobjet_modifier_dist($faire, $type, $id, $qui, $opt) {
	$ok = false;

	if (
		// Si on est admin complet
		(isset($qui['statut']) and $qui['statut'] == '0minirezo' and !$qui['restreint'])
		// Ou admin restreint avec l'option droit pour admin restreint
		or (isset($qui['statut']) and $qui['statut'] == '0minirezo' and $qui['restreint'])
		// Ou si ya les auteurs liés et qu'on est bien lié à monobjet
		or monobjet_autoriser_par_auteur($id, $qui['id_auteur'])
		)
	{
		$ok = true;
	}

	return $ok;
}
function autoriser_monobjet_instituer_dist($faire, $type, $id, $qui, $opt) {
    return autoriser_monobjet_modifier_dist($faire, $type, $id, $qui, $opt);
}

Saut que les redacteurs peuvent quand même publier l’objet.
Comment limiter l’autorisation à la seule proposition?

Je coince un peu du coup.
Quelqu’un pourrait m’aider?

Et quel est le code de monobjet_autoriser_par_auteur ?

Oups pardon…

function monobjet_autoriser_par_auteur($id_rom, $id_auteur = 0) {

    if ($id_rom == 0) {

        return true;

    }

    $retour = false;

    if ($id_auteur == 0) {

        include_spip('inc/session');

        $id_auteur = session_get('id_auteur');

    }

    // Si on a bien un id_auteur

    if (($id_auteur = intval($id_auteur)) > 0) {

        // On cherche si cet auteur est lié à cet objet

        $autorisations = objet_trouver_liens(array('auteur' => $id_auteur), array('id_monobjet' => $id_monobjet));

        $retour = count($autorisations) > 0;

    }

    return $retour;

}

Que renvoie cette fonction dans tes tests en tant que rédacteur ?

En retestant la fonction monobjet_autoriser_par_auteur ce matin, je viens de me rendre compte que ca fonctionne en fait.
Les rédacteurs ont accès au formulaire avec tous les statuts mais quand ils sélectionnent « Publier en ligne », ils obtiennent un message leur indiquant qu’il ne peuvent pas sélectionner ce statut.
Le fait que tous les statuts s’affichent est trompeur en fait.

Merci de ton aide b_b

Content que tu aies trouvé :slight_smile: