Bonjour à tous,

Je cherche une solution "élégante" à mon problème et j'avoue que je
cale un peu.

C'est une base de données de livres et j'utilise l'admin generator
pour le gérer. Dans ma liste de livres, j'ai les actions "Modifier" et
"Supprimer". Je cherche à ajouter une fonction "Dupliquer" pour cloner
un enregistrement. Tout se passe bien jusqu'à ce que je souhaite
ajouter une confirmation à cette action pour réduire les manipulations
hasardeuses de l'opérateur.

Dans generator.yml, j'ai donc :

      list:
        display:        [=titre]
        object_actions:
          _edit:        ~
          _delete:      ~
          duplicate:
            params:
              confirm:  Are you sure?

Or le "Are you sure?" n'est pas traduit en français contrairement à
celui du Delete.

En explorant le code, je m'aperçois que sfModelGenerator est appelé
pour générer le code HTML de l'action dans le template :


  public function getLinkToAction($actionName, $params, $pk_link =
false)
  {
    $action = isset($params['action']) ? $params['action'] :
'List'.sfInflector::camelize($actionName);

    $url_params = $pk_link ? '?'.$this->getPrimaryKeyUrlParams() :
'\'';

    return '[?php echo link_to(__(\''.$params['label'].'\', array(),
\''.$this->getI18nCatalogue().'\'), \''.$this->getModuleName().'/'.
$action.$url_params.', '.$this->asPhp($params['params']).') ?]';
  }

Et c'est là qu'on remarque que les params de l'action ne sont pas
soumet à la fonction __() contrairement au texte de l'action.

Parmi les solutions possible :
 >>> Surcharger le template concerné >>> Simple mais je souhaiterais
éviter pour garder le plus de choses possibles dans config.yml.
 >>> Modifier symfony >>> Possible, mais je souhaite rester dans les
standard et ne pas modifier quelque chose qui est dans un répertoire
vendor
 >>> Proposer la modification de getLinkToAction à la Core Team >>>
Est-ce vraiment important de les déranger pour cela ?

Si quelqu'un à un avis, je suis preneur... ;-)

Merci.

@+

NicoD.

-- 
Vous recevez ce message, car vous êtes abonné au groupe Google 
Groupes Symfony-fr.
Pour envoyer un message à ce groupe, adressez un e-mail 
à symfony...@googlegroups.com.
Pour vous désabonner de ce groupe, envoyez un e-mail à l'adresse 
symfony-fr+unsubscr...@googlegroups.com.
Pour plus d'options, consultez la page de ce groupe : 
http://groups.google.com/group/symfony-fr?hl=fr

Répondre à