I saw where the default was being set, but couldn't find anywhere that we were overriding that value. I will tour through it again and see if I can pick it out this time.
Thanks, Brad On Dec 21, 12:37 pm, mdipierro <[email protected]> wrote: > By default it should be > > auth.settings.on_failed_authentication = lambda x: redirect(x) > > auth.settings.on_failed_authentication can be a function or a url. You > must set it to None somewhere. > > On Dec 16, 8: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. > >

