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
>

Reply via email to