J’utilise #BOUTON_ACTION dans la boucle d’un objet pour supprimer une « simulation » comme ceci :
[(#BOUTON_ACTION{Supprimer cette simulation,#URL_ACTION_AUTEUR{supprimer_famille,#ID_FAMILLE-off,#SELF|ancre_url{famille#ID_FAMILLE}},‹ ajax supprimer ›})
et cela fonctionne parfaitement.
J’essaie donc d’utiliser cette même balise dans une boucle « document » pour supprimer le document téléchargé comme ceci :
[(#BOUTON_ACTION{Supprimer ce document,#URL_ACTION_AUTEUR{supprimer_document,#ID_DOCUMENT-off,#SELF|ancre_url{document#ID_DOCUMENT}},‹ ajax supprimer ›}) ]
et rien ne se passe.
Comment expliquer que l’action ne se fait pas ?
Y-a t-il un mode fonctionnement différent pour supprimer un document ?
Merci
JPD
Le 09/10/2018 à 07:53, Jean-Pierre Duflot a écrit :
J'essaie donc d'utiliser cette même balise dans une boucle "document" pour supprimer le document téléchargé comme ceci :
[(#BOUTON_ACTION{Supprimer ce document,#URL_ACTION_AUTEUR{supprimer_document,#ID_DOCUMENT-off,#SELF|ancre_url{document#ID_DOCUMENT}},'ajax supprimer'}) ]
L'action 'supprimer_famille' est une action créée par ton webmestre et qui gère les paramètres d'une manière non standard.
Le code exécuté par l'action supprimer_document
est dans le fichier action/supprimer_document du plugin-dist medias
et il n'y est aucunement fait gestion du '-off' :
l'id_document est pris tel quel.
Recommence donc sans -off
Merci pour cette info rapide !
J’ai modifié comme indiqué, cela ne fonctionne toujours pas.
Pour mes bouton_action je m’étais inspiré de l’exemple : https://programmer.spip.net/URL-d-action-en-squelette
concernant la suppression de commentaires.
En regardant instituer_forum.php je n’ai pas l’explication de ce « -off » .
JPD
Le 09/10/2018 à 09:30, Jean-Pierre Duflot a écrit :
Merci pour cette info rapide !
J'ai modifié comme indiqué, cela ne fonctionne toujours pas.
Pour mes bouton_action je m'étais inspiré de l'exemple : URL d'action en squelette - Programmer avec SPIP 4
concernant la suppression de commentaires.
En regardant instituer_forum.php je n'ai pas l'explication de ce "-off" .
Regarde de nouveau :
list($id_forum, $statut) = preg_split('/\W/', $arg);
sépare l'id_forum xxx du statut ('off' dans l'exemple)
mais ya pas ça dans supprimer_document.
JL
JPD
Le mar. 9 oct. 2018 à 10:53, JLuc <jluc@no-log.org <mailto:jluc@no-log.org>> a écrit :
Le 09/10/2018 à 07:53, Jean-Pierre Duflot a écrit :
> J'essaie donc d'utiliser cette même balise dans une boucle "document" pour supprimer le document téléchargé comme
ceci :
> [(#BOUTON_ACTION{Supprimer ce
> document,#URL_ACTION_AUTEUR{supprimer_document,#ID_DOCUMENT-off,#SELF|ancre_url{document#ID_DOCUMENT}},'ajax
supprimer'}) ]
L'action 'supprimer_famille' est une action créée par ton webmestre et qui gère les paramètres d'une manière non
standard.
Le code exécuté par l'action supprimer_document
est dans le fichier action/supprimer_document du plugin-dist medias
et il n'y est aucunement fait gestion du '-off' :
l'id_document est pris tel quel.
Recommence donc sans -off
JL
_______________________________________________
liste spip
spip@rezo.net <mailto:spip@rezo.net> - désabonnement : envoyer un mail à spip-off@rezo.net <mailto:spip-off@rezo.net>
Le 09/10/2018 à 09:30, Jean-Pierre Duflot a écrit :
Merci pour cette info rapide !
J'ai modifié comme indiqué, cela ne fonctionne toujours pas.
Ça peut être parce que l'auteur de cette action n'a pas les droits sur le document.
JL
Pour mes bouton_action je m'étais inspiré de l'exemple : URL d'action en squelette - Programmer avec SPIP 4
concernant la suppression de commentaires.
En regardant instituer_forum.php je n'ai pas l'explication de ce "-off" .
Regarde de nouveau :
list($id_forum, $statut) = preg_split('/\W/', $arg);
sépare l'id_forum xxx du statut ('off' dans l'exemple)
Merci pour l’intérêt que vous portez à mon problème
Oui effectivement je regardé à nouveau « instituer_forum.php »
Mais curieusement j’ai mis simplement dans les autorisations de mon objet « famille » :
function autoriser_famille_supprimer_dist($faire, $type, $id, $qui, $opt) { return $qui[‹ statut ›] == ‹ 0minirezo › and !$qui[‹ restreint ›]; }
et mon bouton fonctionne avec son « -off ».
Je teste en tant que webmestre, donc avec tous les droits dont celui de supprimer des documents.
N’y a-t-il pas une étape intermédiaire avant la suppression définitive avec l’interface demandant :" Êtes-vous sûr de vouloir supprimer le document ?", comme c’est le cas dans l’interface privée?
Si oui, il manque donc un ou plusieurs arguments dans mon #BOUTON_ACTION ?
mais je ne vois pas lesquels. Est-ce documenté quelque part ?
Le 09/10/2018 à 11:49, Jean-Pierre Duflot a écrit :
Merci pour l'intérêt que vous portez à mon problème
Oui effectivement je regardé à nouveau "instituer_forum.php"
Mais curieusement j'ai mis simplement dans les autorisations de mon objet "famille" :
/function autoriser_famille_supprimer_dist($faire, $type, $id, $qui, $opt) {/
/return $qui['statut'] == '0minirezo' and !$qui['restreint'];/
/}/
et mon bouton fonctionne avec son "-off".
famille c'est pas document, et le problème c'est là où ça marche pas.
Je teste en tant que webmestre, donc avec tous les droits dont celui de supprimer des documents.
N'y a-t-il pas une étape intermédiaire avant la suppression définitive avec l'interface demandant :" Êtes-vous sûr de vouloir supprimer le document ?", comme c'est le cas dans l'interface privée ?
Tu obtiendras des logs sur les autorisation en ajoutant les 2 defines dans ton mes_options :
define('_LOG_FILTRE_GRAVITE',8);
define ('_DEBUG_AUTORISER', true);
(pour être sur)
JL
Merci pour ces conseils.
Mais ce que je veux simplement, c’est de pouvoir utiliser, dans la partie publique, une interface
similaire à celle de la partie privée concernant la suppression de documents.
J’utilise : #FORMULAIRE_JOINDRE_DOCUMENT{new,#ENV{id_seance,new},seance}
dans une boucle_seance, ça fonctionne bien mail il me manque la possibilité de supprimer les documents téléchargés.