diff --git a/action/editer_document.php b/action/editer_document.php index b5ea8a14a7bb9d47a3bbfbff559d862a2e3b63a1..003f335a558acd094005c337a4aabf1afc98812e 100644 --- a/action/editer_document.php +++ b/action/editer_document.php @@ -306,10 +306,15 @@ function medias_revision_document_parents($id_document, $parents = null, $ajout } } - // verifier les droits d'associer + // trier les objets à traiter : ne pas prendre en compte ceux qui sont déjà associés ou qu'on n'a pas le droit d'associer foreach ($objets_parents as $objet => $ids) { foreach ($ids as $k => $id) { - if (!autoriser('associerdocuments', $objet, $id)) { + if (( + isset($deja_parents[$objet]) + and in_array($id, $deja_parents[$objet]) + ) + or !autoriser('associerdocuments', $objet, $id) + ) { unset($objets_parents[$objet][$k]); } }