J'essaye de coder une modale pour permettre à l'utilisateur de confirmer la suppression d'entités en vain.

Voici le code volontairement simplifié :

1) la commande que j'exécute pour préparer la suppression des entités et pour afficher la modale :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
<h:form>
	<a4j:commandButton value="a4j:commandButton"  action="#{contractDeletor.prepareJob}"
		reRender="deleteContractsConfirmModalPanelId" ajaxSingle="true"
				oncomplete="Richfaces.showModalPanel('deleteContractsConfirmModalPanelId',{width:400, top:200})" />				
</h:form>
 
<a4j:include viewId="/ContractDeletionModal.xhtml" rendered="true" />
2) la modale en question :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
<rich:modalPanel id="deleteContractsConfirmModalPanelId"
	autosized="true">
	<div id="deleteContractsConfirmModalPanelDivId">
	<form id="deleteContractsConfirmModalPanelForm">
		<a4j:commandButton value="a4j:commandButton"
			action="#{contractDeletor.doJob}"
			oncomplete="Richfaces.hideModalPanel('deleteContractsConfirmModalPanelId');"
			reRender="deleteContractsConfirmModalPanelDivId" /></form>
	</div>
</rich:modalPanel>
3) et enfin l'action correspondante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 
@Name("contractDeletor")
public class ContractDeletor extends BaseListAnimator implements
		Serializable {
 
	private static final long serialVersionUID = -1465053605583307302L;
 
	public String prepareJob() {
		log.info("Prepare the job");
 
		return null;
	}
 
	public String doJob() {
		log.info("Do the job");
 
		return null;
	}
}
L'action #{contractDeletor.prepareJob} est bien exécutée, la modale s'affiche correctement au retour de l'action mais quand je clique sur le bouton de la modale il se produit un postback et l'action #{contractDeletor.doJob} n'est pas exécutée.

J'ai essayé de tout mettre dans une même vue (commande et modale) mais ça ne marche pas mieux.
C'est probablement couillon mais je ne vois pas.

Merci d'avance