Well, if this cannot be fixed in Symfony, does anyone see bad
consequences to override the bind method in the BaseFormDoctrine class
like this:
public function bind(array $taintedValues = null, array
$taintedFiles = null)
{
parent::bind($taintedValues, $taintedFiles);
foreach ($this as $name => $widget) {
if (!isset($taintedValues[$name]))
unset($this[$name]);
}
}
This would remove from the bound values any field that was not part of
the post and fix the data loss problem described above.
On Jul 13, 1:55 pm, Mushing Fan <[email protected]> wrote:
> There was another problem that this fix corrected which is data loss
> when the field that you forget to unset is a m2m list.
> In that case, when you do not unset the field in the form but you do
> not have it in the display section of the generator.yml file, Symfony
> will remove all the existing m2m relations for that record when the
> form is saved, at least for Doctrine.
>
> I had this (painful) data loss happen a couple of time before I
> realized it was due to the fact of not unsetting a m2m list field.
>
> I understand it is the developer's responsibility to unset the field
> in the form as well as setting it in the generator.yml, but data loss
> is quite a heavy punishment for forgetting to do it.
>
> What doe not seem logical is that records get deleted based on
> information that is not part of the post (the m2m list in this case).
>
> Would it make sense when the form is bound in the update action, that
> only the fields that are actually part of the post remain for the
> update or is that stupid?
>
> On Jul 13, 10:50 am, Fabian Lange <[email protected]>
> wrote:
>
> > Dear devs,
> > I just released symfony 1.2.8. Please head over to my blog post for
> > more
> > details:http://www.symfony-project.org/blog/2009/07/13/symfony-1-2-8-rolling-...
>
> > Fabian
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"symfony developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/symfony-devs?hl=en
-~----------~----~----~----~------~----~------~--~---