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

Reply via email to