L’autosubmit des formulaires logos (et documents je suppose) ne prend pas en compte les redirections #4542

Open
opened 1 year ago by marcimat · 1 comments
marcimat commented 1 year ago
Owner

Deux soucis sur les redirections des formulaires spécifiques (logos et documents) dont Bigup (bigup.logos.js, ...) soumet automatiquement le formulaire après upload de l’image.

  1. Dans les formulaires d’édition, il est possible de transmettre un javascript directement, tel que "javascript:location.reload()", ce qui ne semble pas le cas ailleurs, notamment sur le formulaire d’édition de logo (ce n’est pas un problème de Bigup ça, mais du comportement général de SPIP sur les formulaires d’édition d’objets https://git.spip.net/spip/spip/src/branch/master/ecrire/inc/editer.php#L102). Ce point pourrait se corriger dans le formulaire de logo en mettant peu ou prou le même code, ou peut être être analysé pour tous les formulaires selon la clé 'redirect', mais c’est peut être plus compliqué.

  2. En transmettant une url de redirection donc au formulaire d’édition, celle ci est déclenchée au retour de la soumission du formulaire en javascript, via ajaxForm(). Sauf que Bigup n’utilise pas cette méthode et poste lui-même le formulaire, ce qui fait que les post-traitements javascript, typiquement pour ce genre de situation, ne sont pas exécutées. Il y a peut être moyen de séparer une partie du code d’ajaxCallback.js dans une fonction réutilisable, au moins pour cette gestion des redirections.

Type de redirection impossible à faire dans editer_logo :
<div class="ajax">
#FORMULAIRE_EDITER_ARTICLE{#ID_ARTICLE,#ID_RUBRIQUE,javascript:location.reload()}
</div>

Redirection non fonctionnelle avec bigup :
<div class="ajax">
 [(#FORMULAIRE_EDITER_LOGO{article,#ID_ARTICLE,#SELF#presentation-content,#ARRAY{titre,Photo}})]
</div>
Deux soucis sur les redirections des formulaires spécifiques (logos et documents) dont Bigup (bigup.logos.js, ...) soumet automatiquement le formulaire après upload de l’image. 1. Dans les formulaires d’édition, il est possible de transmettre un javascript directement, tel que "javascript:location.reload()", ce qui ne semble pas le cas ailleurs, notamment sur le formulaire d’édition de logo (ce n’est pas un problème de Bigup ça, mais du comportement général de SPIP sur les formulaires d’édition d’objets https://git.spip.net/spip/spip/src/branch/master/ecrire/inc/editer.php#L102). Ce point pourrait se corriger dans le formulaire de logo en mettant peu ou prou le même code, ou peut être être analysé pour tous les formulaires selon la clé 'redirect', mais c’est peut être plus compliqué. 2. En transmettant une url de redirection donc au formulaire d’édition, celle ci est déclenchée au retour de la soumission du formulaire en javascript, via ajaxForm(). Sauf que Bigup n’utilise pas cette méthode et poste lui-même le formulaire, ce qui fait que les post-traitements javascript, typiquement pour ce genre de situation, ne sont pas exécutées. Il y a peut être moyen de séparer une partie du code d’ajaxCallback.js dans une fonction réutilisable, au moins pour cette gestion des redirections. ``` Type de redirection impossible à faire dans editer_logo : <div class="ajax"> #FORMULAIRE_EDITER_ARTICLE{#ID_ARTICLE,#ID_RUBRIQUE,javascript:location.reload()} </div> Redirection non fonctionnelle avec bigup : <div class="ajax"> [(#FORMULAIRE_EDITER_LOGO{article,#ID_ARTICLE,#SELF#presentation-content,#ARRAY{titre,Photo}})] </div> ```
Owner

Version cible mise à 4.0

**Version cible mise à 4.0**
Sign in to join this conversation.
No Milestone
No Assignees
2 Participants
Notifications
Due Date

No due date set.

Dependencies

This issue currently doesn't have any dependencies.

Loading…
There is no content yet.