simply the action has to be a string, not a function or the function gets serialized with its name.
in def foo(): pass foo gets serialized as 'foo' in @auth.requires_login() def foo(): pass foo gets serialized as 'foo' in 1.78.x but not in previous versions. On May 18, 2:32 am, Robert Boulanger <robert.boulan...@gmail.com> wrote: > Hi, > > that works, thanks. > I still don't understand the behaviour, but I will have a look deeper inside > to find that out. > > -Robert > > Am 18.05.2010 um 00:13 schrieb mdipierro: > > > This > > > redirect(URL(r=request,f=foo)) > > > should be > > > redirect(URL(r=request,f='foo')) > > > On May 17, 4:00 pm, Robert Boulanger <robert.boulan...@gmail.com> > > wrote: > >> hi, > > >> I have the following issue: > > >> @auth.requires_membership('admin') > >> def foo(): > >> form=FORM(blah some code here) > >> if form.accepts(request.vars, session): > >> <bluh some code there> > >> #form method points to method bar below > >> return dict(form=form) > > >> def bar(): > >> <some code here> > >> redirect(URL(r=request,f=foo)) > >> #when done, go back to foo for a new attempt > > >> As long as foo is NOT decorated all is wonderful. > >> As soon as the decoration which requires this membership is present, > >> it results in a request like > >> application/controller/f instead of /controller/application/foo > >> (the f is always here, it's not just the first letter of foo, means if > >> foo would be bar it's also /application/controller/f ) > > >> if the decoration is removed everything is fine again. > > >> Anybody here who has a clue whats the reason for that ? > > >> Thanks > > >> Robert