Any insights as to why self.settings.on_failed_authentication is None
at this point? Should I be setting that value somewhere? It's
difficult for me to tell what the value should be, since with my
change it still returns to the login page with a flash message of
"Invalid Login".


On Dec 16, 9:02 pm, NuclearDragon <[email protected]> wrote:
> I was getting an error when attempting to go to a page that requires
> you be logged in, if I was not logged in.
> Traceback:
>
> Traceback (most recent call last):
>   File "/xxx/app/gluon/restricted.py", line 188, in restricted
>     exec ccode in environment
>   File "/xxx/app/applications/init/controllers/xxxxx.py", line 2712,
> in <module>
>   File "/xxx/app/gluon/globals.py", line 96, in <lambda>
>     self._caller = lambda f: f()
>   File "/xxx/app/gluon/tools.py", line 2271, in f
>     '?_next='+urllib.quote(next)
>   File "/xxx/app/gluon/tools.py", line 65, in call_or_redirect
>     redirect(f)
>   File "/xxx/app/gluon/http.py", line 101, in redirect
>     location = location.replace('\r', '%0D').replace('\n', '%0A')
> AttributeError: 'NoneType' object has no attribute 'replace'
>
> So I changed:
>  return call_or_redirect(self.settings.on_failed_authentication,
>                                             self.settings.login_url +
> \
>                                                 '?
> _next='+urllib.quote(next)
>                                             )
> to:
> if self.settings.on_failed_authentication:
>                         return
> call_or_redirect(self.settings.on_failed_authentication,
>                                             self.settings.login_url +
> \
>                                                 '?
> _next='+urllib.quote(next)
>                                             )
>                     else:
>                         return
> call_or_redirect(self.settings.login_url + \
>                                                 '?
> _next='+urllib.quote(next)
>                                            )
>
> Does anyone have any thoughts as to why that was happening? A print
> statement of self.settings.on_failed_authentication at that point
> displays None, which affects the workings of the call_or_redirect
> function.

Reply via email to