Hi everybody, Sorry for re-opening this thread, but I'm trying without success to add a cancel button to a CRUD form.
Here my controller: def insertnews(): form = crud.create(db.news) form.add_button("cancel",URL(r=request,f='index')) return dict(form=form) Here my view: {{=form.custom.begin}} Body: <div>{{=form.custom.widget.body}}</div> {{=form.custom.submit}} {{=form.custom.cancel}} {{=form.custom.end}} Where am I wrong? Cheers, David On Thursday, 13 September 2012 23:49:01 UTC+2, Massimo Di Pierro wrote: > > +1 > > On Thursday, 13 September 2012 12:17:17 UTC-5, Henrik Holm wrote: >> >> Has this "add_button" been added to one of the recent releases? I'm >> running 1.99.7 and I get >> >> *<type 'exceptions.AttributeError'> 'SQLFORM' object has no attribute >> 'add_button'* >> >> Maybe it's time to upgrade :-) >> >> Thanks, >> Henrik >> >> >> On Tuesday, July 17, 2012 1:43:08 PM UTC-4, Massimo Di Pierro wrote: >>> >>> In trunk: >>> >>> form.add_button("Cancel",URL(r=request,f='new_contact')) >>> >>> On Tuesday, 17 July 2012 10:00:59 UTC-5, Mathias wrote: >>>> >>>> I found a good solution for me : >>>> >>>> form[0][-1][1].append(TAG.INPUT(_value='Cancel',_type="button",_onclick="window.location='%s';"%URL(r=request,f='new_contact'))) >>>> >>>> >>>> >>>> Mathias >>>> >>>> >>>> 2012/7/17 Mathias Van Daele <mathias...@gmail.com>: >>>> > Thanks for your solution Richard ! >>>> > >>>> > I am still looking for a solution with a button component... >>>> > >>>> > Mathias >>>> > >>>> > 2012/7/17 Richard Vézina <ml.richa...@gmail.com>: >>>> >> Maybe this could be enough?? >>>> >> >>>> >> {{=A(T('cancel'),_href="javascript:void(history.go(-1))")}} >>>> >> >>>> >> It will bring you back to the precedent page, in my use case, I >>>> direct the >>>> >> user on a crud.read page where the user can edit the record >>>> (crud.update). >>>> >> Then if don't want make change anymore there is a "cancel" hyperlink >>>> that >>>> >> bring back the user on the crud.read page. >>>> >> >>>> >> Richard >>>> >> >>>> >> >>>> >> On Tue, Jul 17, 2012 at 8:13 AM, Mathias <mathias...@gmail.com> >>>> wrote: >>>> >>> >>>> >>> Hello, >>>> >>> >>>> >>> I have added a CANCEL button to my SQLFORM. >>>> >>> >>>> >>> Form submission prevents the correct working of it. >>>> >>> >>>> >>> I have tried to avoid form submission with this code : >>>> >>> >>>> >>> >>>> >>> def new_guest_contact(): >>>> >>> form = SQLFORM.factory(...) >>>> >>> >>>> >>> >>>> >>> >>>> form[0][-1][1].append(TAG.BUTTON('Cancel',_onclick='ajax("%s",[],":eval");return >>>> >>>> >>>> >>> false' %URL(r=request,f='new_contact'))) >>>> >>> >>>> >>> if form.process().accepted: >>>> >>> ... >>>> >>> redirect(URL(r=request,f='new_contact_part')) >>>> >>> elif form.errors: >>>> >>> response.flash = 'form has errors' >>>> >>> else: >>>> >>> response.flash = 'Create new guest' >>>> >>> >>>> >>> return dict(form=form) >>>> >>> >>>> >>> >>>> >>> If I click the cancel button now, nothing happens anymore. >>>> >>> >>>> >>> >>>> >>> Any help is welcome. >>>> >>> >>>> >>> Thanks >>>> >>> >>>> >>> >>>> >>> Mathias >>>> >>> >>>> >>> -- >>>> >>> >>>> >>> >>>> >>> >>>> >> >>>> >> >>>> >> -- >>>> >> >>>> >> >>>> >> >>>> >>> --