Estoy trabajando con un formulario en el cual entre otros campos tengo
el id_usuario pero ese campo en vez de ser introducido por el usuario
lo voy a coger de la variable sfGuardUser.
He probado a hacer multiples cosas pero no consigo enviar ese id de
usuario.
Ahora mismo tengo en las actions de mi formulario (es para hacer una
reserva) algo asi:
public function executeNew(sfWebRequest $request)
{
$this->form = new ReservaForm();
$user = $this->getUser()->getGuardUser()->getUsername();
$this->form->setDefault('idusuario',$user);
}
Aqui es donde se procesa el formulario
protected function processForm(sfWebRequest $request, sfForm $form)
{
$form->bind($request->getParameter($form->getName()));
if ($form->isValid())
{
$reserva = $form->save();
$this->redirect('reservas/previo?idreserva='.$reserva->getIdreserva
());
}
Y aqui está el formulario (lib/form/base)
$this->setWidgets(array(
'idreserva' => new sfWidgetFormInputHidden(),
'fecha' => new sfWidgetFormDate(array('format' => '%day% -
%month% - %year%', 'years' => $years_list)),
.......
'idusuario' => new sfWidgetFormInputHidden(),
));
Alguna idea de lo que puede ser??
Gracias.
class Tabla extends BaseTabla
{
public function save(Doctrine_Connection $conn = null)
{
$this->setId_usuario(sfContext::getInstance()->getUser()-
>getGuardUser()->getUsername();
return parent::save($conn);
}
}
> protected function processForm(sfWebRequest $request, sfForm $form)
> {
> $form->bind($request->getParameter($form->getName()),
> $request->getFiles($form->getName()));
> if ($form->isValid())
> {
>
> $reserva = $form->save();
> $user = $this->getUser()->getGuardUser()->getUsername();
> $revserva->setIdUsuario($user);
> $reserva->save();
> .....
>
> }
>
Muchas gracias a los dos!!