Présentation
L'action getConfirm du module generictools vous permet de réaliser des écrans de confirmation standards.
Exemple d'utilisation
public function processAConfirmer (){
//... des conditions nous amène à demander confirmation d'un message
return CopixActionGroup::process ('generictools|Messages::getConfirm',
array ('message'=>'Êtes vous sûr de cela ?',
'confirm'=>_url ('module|actionOui'),
'cancel'=>_url ('module|actionNon')));
}
Paramètres de l'action
message
Le paramètre message est le texte qui sera affiché à l'écran.
confirm
Le paramètre confirm corresponds à l'url qui sera appelée si l'utilisateur clique sur oui (s'il confirme l'action)
cancel
Le paramètre cancel corresponds à l'url qui sera appelée si l'utilisateur renonce à l'action qu'il a demandé (s'il clique sur non)
title
Vous pouvez spécifier un titre (de niveau 2) ) votre page. Si vous ne spécifiez aucun titre, aucun titre n'est affiché (pas de valeur par défaut).
TITLE_PAGE
Par défaut, ce paramètre est initialisé grâce à la clef i18n messages.titlePage.confirm (Confirmation).
template
Le paramètre template vous permet de spécifier un template à utiliser plutot que d'utiliser celui par défaut (generictools|confirm.tpl)
Si vous choisissez de spécifier un template personnel, vous devrez prendre en charge les variables suivantes :
- title
- message
- confirm
- cancel
Exemple d'utilisation concret
Cette page, issue du module d'authentification standard de Copix, vous permet de supprimer un utilisateur. Avant de supprimer un utilisateur, ce module demande confirmation à l'internaute.
Pour cette confirmation, c'est l'action getConfirm de generictools qui est utilisée.
public function processDelete (){
if (CopixRequest::getInt ('confirm') == 1){
_ioDAO ('dbuser')->delete (CopixRequest::getInt ('id'));
return _arRedirect (_url ('auth|users|'));
}else{
if (! ($user = _ioDAO ('dbuser')->get (CopixRequest::getInt ('id')))){
throw new Exception ('Utilisateur introuvable');
}
return CopixActionGroup::process ('generictools|Messages::getConfirm',
array ('message'=>'Supprimer '.$user->login_dbuser. '?',
'confirm'=>_url ('auth|users|delete', array ('id'=>$user->id_dbuser, 'confirm'=>1)),
'cancel'=>_url ('auth|users|')));
}
}

