in trunk

On Tuesday, 16 October 2012 10:51:08 UTC-5, Ricardo Pedroso wrote:
>
> The fix in trunk worked for me. 
>
> Martin are you calling impersonate(0) via GET or POST. 
>
> Now I'm going to guessing mode.... 
>
> I guest it is via GET, right? And probably when you call it 
> you were not an impersonator any more. 
>
> Massimo, maybe it is a condition missing: 
> we have in gluon/tools.py: 
>
>         elif user_id in (0, '0') and self.is_impersonating(): 
>             session.clear() 
>             session.update(cPickle.loads(auth.impersonator)) 
>             self.user = session.auth.user 
>             return None 
>
> Probably should go something like this: 
>
>         elif user_id in (0, '0'): 
>             if self.is_impersonating(): 
>                 session.clear() 
>                 session.update(cPickle.loads(auth.impersonator)) 
>                 self.user = session.auth.user 
>             return None 
>
> Ricardo 
>
> On Tue, Oct 16, 2012 at 2:31 PM, Martin Weissenboeck 
> <mwei...@gmail.com<javascript:>> 
> wrote: 
> > 
> > 
> > Traceback (most recent call last): 
> > 
> > 
> >   File "H:\...\web2py\gluon\restricted.py", line 209, in restricted 
> > 
> > 
> >     exec ccode in environment 
> >   File "H:/.../web2py/applications/secure/controllers/default.py", line 
> > 3988, in <module> 
> > 
> > 
> >   File "H:\...\web2py\gluon\globals.py", line 182, in <lambda> 
> > 
> > 
> > 
> > self._caller = lambda f: f 
> > () 
> > 
> > 
> >   File "H:/.../web2py/applications/secure/controllers/default.py", line 
> > 1932, in impersonateEnd 
> > 
> > 
> >     auth.impersonate(0) 
> >   File "H:\...\web2py\gluon\tools.py", line 2756, in impersonate 
> > 
> > 
> > 
> >     return SQLFORM(table_user, user.id, readonly=True) 
> > 
> > 
> > UnboundLocalError: local variable 'user' referenced before assignment 
> > 
> > 
> > 
> > 2012/10/16 Massimo Di Pierro <massimo....@gmail.com <javascript:>> 
> >> 
> >> can you show all traceback? 
> >> 
> >> 
> >> On Tuesday, 16 October 2012 07:18:38 UTC-5, mweissen wrote: 
> >>> 
> >>> Is this the actual trunc-version? 
> >>> 
> >>> Version 2.1.1 (2012-10-16 06:19:35) dev 
> >>> 
> >>> 
> >>> I get the same message 
> >>> 
> >>> <type 'exceptions.UnboundLocalError'> local variable 'user' referenced 
> >>> before assignment 
> >>> 
> >>> 
> >>> 2012/10/16 Massimo Di Pierro <massimo....@gmail.com> 
> >>> 
> >>>> There is a bug, I just fixed it in trunk. 
> >>>> 
> >>>> auth.impersonate(0) 
> >>>> is correct. 
> >>>> 
> >>>> 
> >>>> On Tuesday, 16 October 2012 04:38:35 UTC-5, mweissen wrote: 
> >>>>> 
> >>>>> I have called 
> >>>>> auth.impersonate(0) 
> >>>>> to finish impersonation. 
> >>>>> 
> >>>>> Now (Version 2.1.1) I see: 
> >>>>> 
> >>>>> Traceback (most recent call last): 
> >>>>>   File "H:\...\web2py\gluon\restricted.py", line 209, in restricted 
> >>>>> 
> >>>>> 
> >>>>> 
> >>>>> 
> >>>>> 
> >>>>> 
> >>>>> 
> >>>>>     exec ccode in environment 
> >>>>>   File "H:/.../applications/secure/controllers/default.py", line 
> 3988, 
> >>>>> in <module> 
> >>>>> 
> >>>>> 
> >>>>> 
> >>>>> 
> >>>>> 
> >>>>> 
> >>>>> 
> >>>>>   File "H:\...\web2py\gluon\globals.py", line 187, in <lambda> 
> >>>>> 
> >>>>> 
> >>>>> 
> >>>>> 
> >>>>> 
> >>>>> 
> >>>>> 
> >>>>>     self._caller = lambda f: f() 
> >>>>> 
> >>>>> 
> >>>>> 
> >>>>> 
> >>>>> 
> >>>>> 
> >>>>> 
> >>>>>   File "H:/.../applications/secure/controllers/default.py", line 
> 1932, 
> >>>>> in impersonateEnd 
> >>>>> 
> >>>>> 
> >>>>> 
> >>>>> 
> >>>>> 
> >>>>> 
> >>>>> 
> >>>>>     auth.impersonate(0) 
> >>>>>   File "H:\...\web2py\gluon\tools.py", line 2755, in impersonate 
> >>>>> 
> >>>>> 
> >>>>> 
> >>>>> 
> >>>>> 
> >>>>> 
> >>>>> 
> >>>>>     return SQLFORM(table_user, user.id, readonly=True) 
> >>>>> 
> >>>>> 
> >>>>> 
> >>>>> 
> >>>>> 
> >>>>> 
> >>>>> 
> >>>>> UnboundLocalError: local variable 'user' referenced before 
> assignment 
> >>>>> 
> >>>>> 
> >>>>> My function: 
> >>>>> def impersonateEnd(): 
> >>>>>     auth.impersonate(0) 
> >>>>>     redirect(URL('index',vars=dict(flash=T('End of 
> impersonation')))) 
> >>>>> 
> >>>>> What ist the best way to end impersonation? 
> >>>>> 
> >>>>> Regards, Martin 
> >>>> 
> >>>> 
> > -- 
> > 
> > 
> > 
>

-- 



Reply via email to