first of all
protected function processForm(sfWebRequest $request, sfForm $form) { $form->bind($request->getParameter('sf_guard_user')); if ($form->isValid()) { * $form->save();* $this->redirect('compte/liste'); } } also, you might need to change your validator schema... Alecs On Fri, Sep 18, 2009 at 9:40 PM, Leeloo <frais...@gmail.com> wrote: > X-No-Archive: > ====================== > Symfony 1.2.7 > Propel > ====================== > > Hello, > > I want to use a profile with the sfGuard Plugin. > I embed sfGuardUserProfileForm into my own form : > > <?php > class RegisterForm extends sfGuardUserForm { > public function configure() > { > // Remove all widgets we don't want to show > unset($this['is_active'], > $this['is_super_admin'], > ... > > // User Profile > $profileForm = new sfGuardUserProfileForm(); > $this->embedForm('Profile', $profileForm); > > unset($profileForm['id'], > $profileForm['user_id'] > ); > > > The template _form.php look like : > > > <tr> > <th><?php echo $form['Profile']['last_name']->renderLabel() ?> > </th> > <td><?php echo $form['Profile']['last_name'] ?></td> > </tr> > <tr> > <th><?php echo $form['Profile']['first_name']->renderLabel() > ?></th> > <td><?php echo $form['Profile']['first_name'] ?></td> > </tr> > <tr> > <th><?php echo $form['username']->renderLabel() ?> :</th> > <td><?php echo $form['username'] ?></td> > </tr> > <tr> > <th><?php echo $form['password']->renderLabel() ?></th> > <td><?php echo $form['password'] ?></td> > </tr> > <tr> > <th><?php echo $form['password_confirmation']->renderLabel() > ?></th> > <td><?php echo $form['password_confirmation'] ?></td> > > and the actions.class.php file : > > <?php > > class compteActions extends sfActions { > > public function executeNew(sfWebRequest $request) > { > $this->form = new RegisterForm(); > } > > public function executeCreate(sfWebRequest $request) > { > $this->forward404Unless($request->isMethod('post')); > > $this->form = new RegisterForm(); > > $this->processForm($request, $this->form); > > $this->setTemplate('new'); > } > > protected function processForm(sfWebRequest $request, sfForm $form) > { > $this->form->bind($request->getParameter('sf_guard_user')); > > if ($form->isValid()) { > $this->redirect('compte/liste'); > } > } > } > > But no database insert. The "user_id" field is required. > "user_id" is define in schema.yml as : > > sf_guard_user_profile: > _attributes: { phpName: sfGuardUserProfile } > id: > user_id: { type: integer, foreignTable: sf_guard_user, > foreignReference: id, required: true, onDelete: cascade } > first_name: varchar(20) > last_name: varchar(20) > > > How do I make the link between "user" en "profile" ? > And after that how can I make the distinction beetween "create" en "edit" ? > > Thanks for your Help > > > > > -- As programmers create bigger & better idiot proof programs, so the universe creates bigger & better idiots! I am on web: http://www.alecslupu.ro/ I am on twitter: http://twitter.com/alecslupu I am on linkedIn: http://www.linkedin.com/in/alecslupu Tel: (+4)0748.543.798 --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "symfony users" group. To post to this group, send email to symfony-users@googlegroups.com To unsubscribe from this group, send email to symfony-users+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/symfony-users?hl=en -~----------~----~----~----~------~----~------~--~---