You can test if the record was deleted by checking for the
"delete_this_record" variable:
if form.vars.delete_this_record:
Also, instead of handling the logic after form.accepts(), you could use
form.process(..., onsuccess=some_function) and have the some_function()
callback check for the delete and do the redirect.
Anthony
On Friday, February 17, 2012 12:43:37 PM UTC-5, Richard wrote:
>
> Hello,
>
> When user submit, I redirect him on a read form, but I get in trouble
> when for example user has delete a record with update form.
>
> I solve it like this when use SQLFORM() :
>
> if form.accepts(request.vars, session):
> session.flash = T('form accepted')
> if len(db(db.table1.id ==
> form.vars.id).select(db.table1.id)) == 1:
> redirect(URL(r=request,
> f='read',args=(request.args(0),form.vars.id)))
> else:
> redirect(URL(r=request,
> f='select',args=(request.args(0))))
>
> But I notice that CRUD has delete_next= option... Could it be add to
> SQLFORM somehow? Book seems to be silent on this scenario... Should I
> use form.accept().accepted. It has a next methode, but I don't think
> it allows to manage conditional redirection...
>
> Thanks
>
> Richard