Thanks for the help! That solved the timing problem!
On Fri, Nov 19, 2010 at 11:26 AM, mdipierro <mdipie...@cs.depaul.edu> wrote: > This is a syntactical issue: > > 1) the functio must take form as arguement > > def deletepage(form): > decrements total number of pages > decrements page number of each page after the one deleted > > 2) when registering the callback no () > > crud.settings.update_ondelete = deletepage > > > On Nov 19, 9:09 am, Audra Rudys <sphin...@gmail.com> wrote: > > My application follows a book metaphor -- record with number of pages and > > subrecords with consecutive page numbers. I'm using crud.update and wish > to > > run a piece of code to update the total number of pages on the record and > > reassign page numbers when a record is deleted to keep them consecutive. > I > > created a function deletepage() to do this and set update_ondelete to > call > > it. I'm also using update_next. > > crud.settings.update_next = URL(...) > > crud.settings.update_ondelete = deletepage() > > > > fun deletepage(): > > decrements total number of pages > > decrements page number of each page after the one deleted > > > > The problem: update_ondelete is being called whenever edit is invoked, > > regardless of whether a record has been deleted. So, if I click edit to > > edit the record, make no changes and go back with the browser back > button, > > deletepage() was called once. If I click edit and then submit the form, > > regardless of any changes or whether or not I've selected to delete the > > record, deletepage() is called twice. > > > > 1) Is this a web2py bug with ondelete or am I not using it correctly? > > 2) Is there a way to check if a record has been deleted? > > 3) At which point in the workflow is is actually deleted from the > database? > > (I tried querying the subrecord count in ondelete to get the new page > count > > instead of blindly decrementing, but the deleted record was still > counted.) > > > > Environment info: web2py 1.89.3 and 1.89.4 source on WinXP (from version > > file within, both look to be 1.89.3 though), Chrome browser 7.0.517.44. > > > > Thanks for any help! > > Audra >