Thanks a lot, I was sooo into doctrine that I forgot that php can
issue warnings as well ;)
Again thanks

On Oct 27, 7:06 am, Alexandre SALOME <alexandre.sal...@gmail.com>
wrote:
> Yes,
>
> A strict PHP object standard is "when you overload a method, you must set
> the same "signature" :
>
>    - same method name
>    - same arguments
>    - same types
>
> To make simple, you must copy/paste the function declaration line of
> sfDoctrineForm.class.php :
>
> public function save(...)
>
> to yourForm.php
>
> 2009/10/26 mbernasocchi <mbernasoc...@gmail.com>
>
>
>
>
>
> > thanks, it works as expected, I just had to add
> > return parent::save($conn); instead of only parent::save($conn); to be
> > able to use the object in a template.
>
> > the only thing is that i stll get the same warning about the strict
> > standard:
> > Strict Standards: Declaration of OpenBubbleForm::save() should be
> > compatible with that of sfFormDoctrine::save() in /home/marco/
> > nosoapnobubbles/trunk/lib/form/doctrine/OpenBubbleForm.class.php on
> > line 10
>
> > do you know what it means? I suppose my save() method is not complete
> > enough... like add transactions or so... any pointer there? thanks
> > again
> > Marco
>
> > On Oct 26, 8:34 pm, Alexandre SALOME <alexandre.sal...@gmail.com>
> > wrote:
> > > The idea :
>
> > > class PostForm
> > > {
> > >   protected $author;
>
> > >   public function setAuthor($author)
> > >   {
> > >     $this->author = $author;
> > >   }
>
> > >   public function save(Doctrine_Connection $conn = null)
> > >   {
> > >     if ($this->author !== null)
> > >     {
> > >       $this->getObject()->setAuthor($this->author);
> > >     }
> > >     parent::save($conn);
> > >   }
>
> > > }
>
> > > And in your action :
>
> > > $this->form->setAuthor($this->getUser()->getGuardUser());
> > > $this->form->save();
>
> > > 2009/10/26 mbernasocchi <mbernasoc...@gmail.com>
>
> > > > thanks a lot,
> > > > I see how to handle it now, just putting the save method as you said
> > > > gives me the following warning:
> > > > Strict Standards: Declaration of OpenBubbleForm::save() should be
> > > > compatible with that of sfFormDoctrine::save() in /home/me/
> > > > nosoapnobubbles/trunk/lib/form/doctrine/OpenBubbletForm.class.php on
> > > > line 10
>
> > > > and as well I get Call to undefined method OpenBubbleForm::setAuthor
> > > > (), I tried calling it as well setUserId and setuser_id and always get
> > > > the same.
>
> > > > my model is:
> > > > columns:
> > > >     user_id:
> > > >      type: integer(4)
> > > >       notnull: true
> > > > relations:
> > > >    Author:
> > > >       class: sfGuardUser
> > > >      local: user_id
> > > >      foreign: id
> > > >       foreignAlias: OpenBubbles
> > > >      onDelete: cascade
> > > >      onUpdate: restrict
>
> > > > $this in the OpenBubbleForm.class.php is the form not the OpenBubble
> > > > (post) no?
>
> > > > thanks again Marco
>
> > > > On Oct 26, 5:04 pm, Alexandre SALOME <alexandre.sal...@gmail.com>
> > > > wrote:
> > > > > You must set the user ID after saving.
>
> > > > > A possible solution would be to pass a sfGuardUser on saving of form
> > :
>
> > > > > class PostForm
> > > > > {
> > > > >   // ...
> > > > >   public function save($author, Doctrine_Connection $conn = null)
> > > > >   {
> > > > >     $this->setAuthor($author);
> > > > >     $this->save($conn);
> > > > >   }
>
> > > > > }
>
> > > > > Another way would be to add a method setAuthor($author) and save
> > method
> > > > will
> > > > > check if an author was given.
>
> > > > > Alexandre
>
> > > > > 2009/10/26 mbernasocchi <mbernasoc...@gmail.com>
>
> > > > > > Hi, I've a Post model in my app, I need to set the author Id of the
> > > > > > post to the id of the logge user (as in any forum). I succeeded by
> > > > > > overwriting the save() method of the Post.class.php and making it
> > like
> > > > > > this:
>
> > > > > >  public function save(Doctrine_Connection $conn = null)
> > > > > >  {
> > > > > >    if ($this->isNew())
> > > > > >    {
> > > > > >      $this->setUserId(sfContext::getInstance()->getUser()-
> > > > > > >getGuardUser());
> > > > > >    }
> > > > > >    return parent::save($conn);
> > > > > >  }
>
> > > > > > but I don't like the thissolution at all because it mixes up
> > > > > > application layers and sfContext is not set during doctrine tasks.
>
> > > > > > I managed as well to pass the default user from the action to the
> > > > > > form, like this:
>
> > > > > > public function executeNew(sfWebRequest $request)
> > > > > >  {
> > > > > >    $open_bubble = new OpenBubble();
> > > > > >    $open_bubble->setUserId($this->getUser()->getGuardUser());
> > > > > >    $this->form = new OpenBubbleForm($open_bubble);
> > > > > >  }
>
> > > > > > but then in the form the userId can still be selected, and I unset
> > > > > > ($this['user_is']) in the form, then I get a null id.
>
> > > > > > any suggestions? this should be really easy no?
>
> > > > > > cheers marco
>
> > > > > --
> > > > > Alexandre Salomé -- alexandre.sal...@gmail.com
>
> > > --
> > > Alexandre Salomé -- alexandre.sal...@gmail.com
>
> --
> Alexandre Salomé -- alexandre.sal...@gmail.com
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---

Reply via email to