[Grok-dev] Re: applyChanges and add forms
Martijn Faassen
faassen at startifact.com
Mon Apr 16 17:04:51 EDT 2007
On 4/16/07, Philipp von Weitershausen <philipp at weitershausen.de> wrote:
[snip]
> >> Do we want to do that in AddForm at all? AddForm after all creates the
> >> object and already (presumably) triggers an IObjectAdded event. Doing
> >> an IObjectModified event straight afterward would be doing things
> >> twice. Sounds like applyData in add forms want to do the real minimum
> >> to just set attributes based on the schema.
> I just realized that it would be useful to have applyData send an
> IObjectModifiedEvent all the time. Let's say you have the following add
> form action:
>
> @grok.action('Add entry')
> def add(self, **data):
> self.context['ellie'] = ellie = Mammoth()
> applyData(ellie, **data)
>
> The first line of the method body would trigger an IObjectAddedEvent,
> causing the object to be added to a catalog index, for example. The
> second line would modify the object, but not send an appropriate event
> to update the index.
>
> I think we want to send that event.
Good point.
However.. What if do the following:
@grok.action('Add entry')
def add(self, **data):
ellie = Mammoth()
self.applyData(ellie, **data)
self.context['ellie'] =ellie
If the catalog is in use, we'd get a modified for an object that's not
yet given an intid. What happens then? We need some tests for this. A
test can clarify this.
Regards,
Martijn
More information about the Grok-dev
mailing list