I solved my problem with this: http://trac.symfony-project.org/ticket/5867

Att,
Pedro Casado


On Wed, Apr 7, 2010 at 1:03 AM, Pedro Casado <pdr...@gmail.com> wrote:

> Patter, can you show me your removeEmbedded ?
>
> Thanks
>
> Att,
> Pedro Casado
>
>
>
> On Thu, Mar 5, 2009 at 7:49 PM, isleshocky77 <sost...@sowebdesigns.com>wrote:
>
>>
>> Patter,
>>  So I just updated my plugin which is using a lot of this.  I think
>> what I ended up doing is actually pretty clean.  I took some cues from
>> what you said as far as the updateObject, but I didn't need to make an
>> embeddedForm function because I'm deleting the object there.  You can
>> check out the full class in trac.  With the way it's done here I don't
>> have to have anything in the action which is how it was being done
>> before.
>>
>>
>> http://trac.symfony-project.org/browser/plugins/sfDoctrineUserPlugin/branches/1.2/modules/sfUserAdvancedUser/lib/form/sfUserAdvancedUserForm.class.php
>>
>> The meat of it is in the two last protected functions.
>>
>> --
>> Stephen Ostrow <sost...@sowebdesigns.com>
>>
>> On Feb 16, 4:41 am, patter <p.vukadi...@gmail.com> wrote:
>> > Hi Stephen,
>> > yes I mailed you :-). I have used User just for example and my form is
>> > more complicated. Let say a UserObject have one FamilyObject and this
>> > FamilyObject have one or two ParentsObjects. So in UserForm is
>> > embedded FamilyForm with embedded FamilyForms (something like this -
>> > three levels of embedding)
>> >
>> > I have a solution , but I'm not sure if it is the best one.
>> >
>> > It is easy to unset an embedded form for the form class itself:
>> >
>> > unset($this->embeddedForms('formName');
>> >
>> > but because it is private property it is not possible from outside the
>> > form.
>> > I have created a new form class which extends the base sfForm and this
>> > class adds one public method - removeEmbedded($name).
>> > Now I can use:
>> >
>> > $embedded  = $form->getEmbeddedForms();
>> > $embedded['relations']->removeEmbedded($name);
>> >
>> > I do this in updateObject() because it is called after the form is
>> > validated and everything is o.k.
>> > If I do this in bind() method and the form is not valid it will not be
>> > shown properly .
>> >
>> > On Feb 15, 4:46 pm, jukea <jkea...@gmail.com> wrote:
>> >
>> > > Hi patter,
>> >
>> > > What I'd do is unset the embedded form as if ot was any other field.
>> >
>> > > if($postedValues[..insert your input name...]=='')
>> > >    unset($subForm['embededFormName'])
>> >
>> > > Do this from anywhere before you bind the data. You could also
>> > > override the bind method in your form, unset the form there, and call
>> > > the parent method.
>> >
>> > > Julien
>> >
>> > > On Feb 11, 11:06 am, patter <p.vukadi...@gmail.com> wrote:
>> >
>> > > > Hello,
>> >
>> > > > I have a1:n relation: User have two phone numbers (well my real use
>> > > > case is a bit complicated :-) ).
>> >
>> > > > In my UserForm::configure() I have something like this:
>> >
>> > > > $p1 = $this->object['phones'][0] = new Phone();
>> > > > $p2 = $this->object['phones'][1] = new Phone();
>> >
>> > > > $subForm = new sfForm();
>> > > > $subForm->embedForm(0, new PhoneForm($p1 );
>> > > > $subForm->embedForm(1, new PhoneForm($p2));
>> >
>> > > > $this->embedForm('phones', $subForm);
>> >
>> > > > This works perfect. I can add a new User with 2 phones.
>> >
>> > > > The problem is that if the user doesn't provide information for
>> second
>> > > > phone I should not insert a blank record (in fact I can't because of
>> > > > not null fields).
>> >
>> > > > I have read a lot of articles but I'm not able to find solution yet.
>> >
>> > > > I think that I have to use UpdateObject() method to remove unwanted
>> > > > relation, but if this is the better solution ?
>> >
>> > > > I use Doctrine :-)
>> --~--~---------~--~----~------------~-------~--~----~
>> 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<symfony-users%2bunsubscr...@googlegroups.com>
>> For more options, visit this group at
>> http://groups.google.com/group/symfony-users?hl=en
>> -~----------~----~----~----~------~----~------~--~---
>>
>>
>

-- 
If you want to report a vulnerability issue on symfony, please send it to 
security at symfony-project.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

To unsubscribe, reply using "remove me" as the subject.

Reply via email to