At 11:30 AM 5/17/2002 -0400, you wrote:
>>>. We originally put the "return URL"
in the session object, but for reasons that I cannot remember it didn't
work. I'm pretty sure the !#^%@#^! "Back" button was involved. We now
put it in the URL, so if you try to access /private/, you are redirected
to /user/login?/private/, which takes care of sending you to /private/
once you've logged in. Ugly, but it seems to work most of the time.
<<<
This is what I do... I add a 'return url' to the Form's init...
def logon(request):
if request.get_environ('HTTP_REFERER'):
referer = request.get_environ('HTTP_REFERER')
else:
referer = "/"
if referer.find('/logon') == -1:
redirect_url = referer
return DoLogin(redirect_url).handle(request)
and in DoLogin.__init__() I store redirect_url as a hidden form field, and
test it yet again in action(). Its a little clunky but works, the user
doesn't see the clunky-ness, and I don't have to remember to do anything to
the calling URL...
Mike