Massimo,
Thanks for the quick update. I installed trunk... hg clone
https://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 <[email protected]>
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 <[email protected]>
> wrote:
>
> > You need trunk
>
> > On Sep 18, 8:12 pm, tomt <[email protected]> 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 <[email protected]>
> > > 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 <[email protected]>
> > > > wrote:
>
> > > > > A question which bothers me a lot lately ;-)
>
> > > > > I know that crud has a nice support for history tables 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! ;-)
>
>