Thanks.
Actually I already have a fix in place, though I like yours better because
it's more compact. I was just wondering if the Web2py behavior had changed.
On Monday, October 22, 2012 4:53:07 PM UTC-4, Niphlod wrote:
>
> Don't take this as a sure thing, but a big improvement was made on
> 1.99.4/1.99.7 to avoid the behaviour that all decorators (as @auth.requires
> is) were executed no matter what function you were requesting for that
> controller. Don't know if that fix brought to your situation.
> I think your situation can be easily fixed though: before you had a
> default=None for that field, so just set a variable before the table
> definition as
>
> tenant_field = session.auth.user.request_tenant if session.auth.user or
> None
>
> and use tenant_field instead of session.auth.user.request_tenant for the
> default value of the field.
>
> On Monday, October 22, 2012 10:10:16 PM UTC+2, Cliff Kachinske wrote:
>>
>> My models reference session.auth.user as follows:
>>
>> Field('request_tenant', default=session.auth.user.request_tenant)
>>
>> Obviously this will fail if the user is not logged in because
>> session.auth.user is None.
>>
>> In 1.99.2, using any of the @auth decorators forces a login before the
>> model files run, so there is no problem.
>>
>> In 2.1.1, errors occur. It seems like the models are being run before
>> the decorators have been evaluated, whereas in 1.99.2 the decorators were
>> evaluated first.
>>
>> Has something changed in Web2py?
>>
>> The applicable model files are identical, according to diff. The
>> controllers are not, but I made no changes to the index functions and I get
>> the error when running index.
>>
>> Any idea what's going on?
>>
>
--