terça-feira, 9 de novembro de 2010

Personalizar o Generator do processForm()

Para personalizar o generator do processForm vá até o arquivo com o caminho abaixo:
  • \lib\vendor\symfony\lib\plugins\sfDoctrinePlugin\data\generator\sfDoctrineModule\admin\parts\processFormAction.php 
Uma opção para alterar este arquivo seria por exemplo setar algum atributo que existe em todas as suas ClassesForm , no caso posso sitar o usuário que fez a ultima atualização
protected function processForm(sfWebRequest $request, sfForm $form)
  {
$form->bind($request->getParameter($form->getName()), $request->getFiles($form->getName()));
    if ($form->isValid())
    {
      $notice = $form->getObject()->isNew() ? 'The item was created successfully.' : 'The item was updated successfully.';

      try {
            try {
 //linha personalizada               
$form->getObject()->setUpdatedUser($this->getUser());
            } catch (Exception $exc) {
                echo $exc->getTraceAsString();
            }
.
.
.
.
.

Bom pessoal este é o exemplo, e lembrando é claro que qualquer alteração nesta classe afetará todos os seus módulos que utilizarem o generator

Abraço a todos