Thanks a lot Massimo,

Both forms work correctly.
I had no idea I could use crud.archive(form) in the stable release
with anything but crud.  I am now using it successfully on several
SQLFORM routines.

On Sep 18, 9:57 pm, Massimo Di Pierro <massimo.dipie...@gmail.com>
wrote:
> ERRATA:
>
> With stable you can do
>
> form=SQLFORM(....)
> if form.accepts(request,session):
>       crud.archive(form)
>
> With trunk:
>
> form=SQLFORM(....)
> if form.process(onsuccess=auth.archive).accepted: ...
>
> "onsuccess" not "onaccept"
>
> On Sep 18, 10:46 pm, tomt <tom_tren...@yahoo.com> wrote:
>
> > Massimo,
>
> > Thanks for the quick update.  I installed trunk... hg 
> > clonehttps://code.google.com/p/web2py/
> > and tried the suggested code
>
> > def editarch2():
> >     id = request.args(0) or 1
> >     row=db.things(id)
> >     form=SQLFORM(db.things,row)
> >     if form.process(onaccept=auth.archive).accepted:
> >         response.flash='ok'
> >     return dict(form=form)
>
> > And received the following error message:
> >   File "/home/xa21/web2py/applications/archtst/controllers/
> > default.py", line 91, in editarch2
> >     if form.process(onaccept=auth.archive).accepted:
> >   File "/home/xa21/web2py/gluon/html.py", line 1947, in process
> >     self.validate(**kwargs)
> >   File "/home/xa21/web2py/gluon/html.py", line 1898, in validate
> >     if self.accepts(**kwargs):
> > TypeError: accepts() got an unexpected keyword argument 'onaccept'
>
> > Any comments? Thanks -Tom
>
> > On Sep 18, 8:14 pm, Massimo Di Pierro <massimo.dipie...@gmail.com>
> > wrote:
>
> > > Correction..
>
> > > With stable you can do
>
> > > form=SQLFORM(....)
> > > form.accepts(request,session,onaccept=crud.archive)
>
> > > With trunk crud.archive is an alias for auth.archive (new) and
> > > form.process(...) is similar to form.accepts(...) but returns the form
> > > instead of boolean. In other words this (old):
>
> > > form=SQLFORM(....)
> > > if form.accepts(request,session,onaccept=crud.archive): ...
>
> > > and this (new)
>
> > > form=SQLFORM(....)
> > > if form.process(onaccept=auth.archive).accepted: ...
>
> > > are equivalent.
>
> > > massimo
>
> > > On Sep 18, 9:11 pm, Massimo Di Pierro <massimo.dipie...@gmail.com>
> > > wrote:
>
> > > > You need trunk
>
> > > > On Sep 18, 8:12 pm, tomt <tom_tren...@yahoo.com> wrote:
>
> > > > > Hi,
>
> > > > > Could you please elaborate on this a bit?
>
> > > > > Does this capability exist in 1.98.2?  I couldn't find any
> > > > > documentation on it.  Do I have to write some additional code to make
> > > > > this work?  If I implement your example literally:
>
> > > > > form=SQLFORM(db.things,row).process(onaccept=auth.archive)
>
> > > > > The error tells me "AttributeError: 'Auth' object has no attribute
> > > > > 'archive'"
>
> > > > > I'd appreciate some pointers.
>
> > > > > Thanks, - Tom
>
> > > > > On Sep 13, 9:26 pm, Massimo Di Pierro <massimo.dipie...@gmail.com>
> > > > > wrote:
>
> > > > > > I think this calls for a new feature. for today the best I can 
> > > > > > suggest
> > > > > > is
>
> > > > > > form = SQLFORM(...).process(onaccept=auth.archive)
>
> > > > > > (notice auth.archive and crud.archive are the same but you can 
> > > > > > archive
> > > > > > without crud). I hate crud. I want it to die but slowly.
>
> > > > > > On Sep 13, 5:16 pm, Michele Comitini <michele.comit...@gmail.com>
> > > > > > wrote:
>
> > > > > > > A question which bothers me a lot lately ;-)
>
> > > > > > > I know that crud has a nice support forhistorytables inside the 
> > > > > > > db,
> > > > > > > but I cannot use crud everywhere.
> > > > > > > It would be nice if DAL had support for this feature(*)
>
> > > > > > > I would like to have web2py take care of the task instead of 
> > > > > > > filling
> > > > > > > the db with triggers and stored procedures.
>
> > > > > > > On PostgreSQL I suppose can use the tablelog machinery, but first 
> > > > > > > I do
> > > > > > > not even know if it still works on pg 9.x and secondly it is not
> > > > > > > portable at all...
>
> > > > > > > Does anyone have suggestions?
>
> > > > > > > thanks
>
> > > > > > > mic
>
> > > > > > > (*)now I expect Massimo showing me how I am ignorant with one of 
> > > > > > > his
> > > > > > > great onliners! ;-)
>
>

Reply via email to