request.function is always going to be the name of the function that has been requested -- that's what it is for.
On each request, why don't you just do something like this in a model: session.last_page = session.this_page or None session.this_page = (request.controller, request.function) def require_last_page(controller, function): if not (session.last_page == (controller, function) or session.last_page == session.this_page): redirect(URL(controller, function)) Then, in any action that requires a specific previous page, just include code like this: def second(): require_last_page('default', 'first') ... If you want to get fancy, you can make require_last_page a decorator. Note, the session.last_page == session.this_page condition is there to allow users to reload a page without having to go back to the required last page -- remove that condition if you don't want to allow page reloads. Anthony On Wednesday, November 19, 2014 12:02:04 AM UTC-5, T.R.Rajkumar wrote: > > @Anthony Yes the session var is OK. But I would like to see that the > second page can be visited only after the first page. Keeping the session > var flags can be troublesome if we have hundreds of pages and the same > session var gets set in some other page. Is their a way out? The > request.function seems to be perfect if it stores the first page even > inside the second action. > > On Saturday, November 15, 2014 3:28:15 PM UTC+5:30, T.R.Rajkumar wrote: >> >> In book chapter 3 overview the following is given to restrict access to >> second page. >> >> if not request.function=='first' and not session.visitor_name: >> redirect(URL('first')) >> >> But if I print request.function it says 'second'. >> How to restrict access to second page only from first page? >> >> >> -- Resources: - http://web2py.com - http://web2py.com/book (Documentation) - http://github.com/web2py/web2py (Source code) - https://code.google.com/p/web2py/issues/list (Report Issues) --- You received this message because you are subscribed to the Google Groups "web2py-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to web2py+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.