[Fwd: Re: [Zope3-Users] editform onSuccess-method]

2006-03-29 Thread Cliff Ford


Look at nextURL - called at the end of an add/edit sequence for
redirection. You can put your object modification code in there.

What I mean is that you define your own nextURL function in your form 
support class. It gets called instead of the default and you can do 
things in it like set annotations or add objects to a new container.


Cliff

Frank Burkhardt wrote:

Hi,

I need to do some changes to an object, after it's either created or
modifed. Is there a chance to define methods on the object's class that are
called after the addform or the editform are done creating/changing the
object? Maybe there's a ZCML-way to do this?

Regards,

Frank
___
Zope3-users mailing list
Zope3-users@zope.org
http://mail.zope.org/mailman/listinfo/zope3-users


___
Zope3-users mailing list
Zope3-users@zope.org
http://mail.zope.org/mailman/listinfo/zope3-users


Re: [Zope3-Users] editform onSuccess-method]

2006-03-29 Thread Cliff Ford


Look at nextURL - called at the end of an add/edit sequence for
redirection. You can put your object modification code in there.

Cliff

Frank Burkhardt wrote:

Hi,

I need to do some changes to an object, after it's either created or
modifed. Is there a chance to define methods on the object's class that are
called after the addform or the editform are done creating/changing the
object? Maybe there's a ZCML-way to do this?

Regards,

Frank
___
Zope3-users mailing list
Zope3-users@zope.org
http://mail.zope.org/mailman/listinfo/zope3-users


___
Zope3-users mailing list
Zope3-users@zope.org
http://mail.zope.org/mailman/listinfo/zope3-users


Re: [Zope3-Users] editform onSuccess-method

2006-03-29 Thread Jeff Shell
On 3/29/06, Frank Burkhardt <[EMAIL PROTECTED]> wrote:
> On Wed, Mar 29, 2006 at 04:12:40PM +0530, baiju m wrote:
> > On 3/29/06, Frank Burkhardt <[EMAIL PROTECTED]> wrote:
> > > Hi,
> > >
> > > I need to do some changes to an object, after it's either created or
> > > modifed. Is there a chance to define methods on the object's class that 
> > > are
> > > called after the addform or the editform are done creating/changing the
> > > object? Maybe there's a ZCML-way to do this?
> >
> > May be you are looking for events ?
> > http://www.zope.org/Wikis/DevSite/Projects/ComponentArchitecture/Zope3Book/events.html
>
> Maybe that's what I have to use. But I would rather like a solution like this:
>
>   subclass class XXX
>   overwrite method YYY
>   define statement ZZZ in ZCML

If you need to do these changes all the time - regardless of how the
object is created or modified - then you do want to go with events.

* subclass nothing
* write event handler functions (for IObjectAddedEvent and IObjectModifiedEvent)
* register handler in ZCML.

If you're using formlib (Zope 3.2 feature) based forms (which I
recommend using), look at the formlib API and the
zope/formlib/forms.txt document. There are some excellent base classes
in there for editing, adding, and just doing your own thing. With each
'action', it's very possible to do your own responses. In that case,
it's:

* subclass zope.formlib.form base classes (Form, EditForm, etc)
* override an action / write a new action / overwrite update or render
* no ZCML - just register it as a view.

class EditItineraryForm(form.EditForm):
form_fields = form.Fields(IItinerary)

@form.action(u"Save Changes", condition=form.haveInputWidgets)
def handleEditAction(self, action, data):
if form.applyChanges(self.context,self.form_fields,data,self.adapters):
notify(ObjectModifiedEvent(self.context))
self.status = u"Itinerary Details Updated"
self.onSuccess()
else:
self.status = u"No Changes"

Something like that should work. You could even make your own base
EditForm class that defined the above action, and a subclass would
just need to provide onSuccess and the form_fields.

--
Jeff Shell
___
Zope3-users mailing list
Zope3-users@zope.org
http://mail.zope.org/mailman/listinfo/zope3-users


Re: [Zope3-Users] editform onSuccess-method

2006-03-29 Thread Frank Burkhardt
On Wed, Mar 29, 2006 at 04:12:40PM +0530, baiju m wrote:
> On 3/29/06, Frank Burkhardt <[EMAIL PROTECTED]> wrote:
> > Hi,
> >
> > I need to do some changes to an object, after it's either created or
> > modifed. Is there a chance to define methods on the object's class that are
> > called after the addform or the editform are done creating/changing the
> > object? Maybe there's a ZCML-way to do this?
> 
> May be you are looking for events ?
> http://www.zope.org/Wikis/DevSite/Projects/ComponentArchitecture/Zope3Book/events.html

Maybe that's what I have to use. But I would rather like a solution like this:

  subclass class XXX
  overwrite method YYY
  define statement ZZZ in ZCML

Thank you,

Frank
___
Zope3-users mailing list
Zope3-users@zope.org
http://mail.zope.org/mailman/listinfo/zope3-users


Re: [Zope3-Users] editform onSuccess-method

2006-03-29 Thread baiju m
On 3/29/06, Frank Burkhardt <[EMAIL PROTECTED]> wrote:
> Hi,
>
> I need to do some changes to an object, after it's either created or
> modifed. Is there a chance to define methods on the object's class that are
> called after the addform or the editform are done creating/changing the
> object? Maybe there's a ZCML-way to do this?

May be you are looking for events ?
http://www.zope.org/Wikis/DevSite/Projects/ComponentArchitecture/Zope3Book/events.html

Regards,
Baiju M
___
Zope3-users mailing list
Zope3-users@zope.org
http://mail.zope.org/mailman/listinfo/zope3-users