If I go like this :
@auth.requires_login()
def index():
*auth.messages.logged_in=T('Hello ')*
"""
Index page using the internationalization operator T and flash
rendered by views/default/index.html or views/generic.html
"""
#auth.messages.logged_in=DIV(T('Hello '),
# str(auth.user and auth.user.first_name),
# BR(),
# T('Welcome on the '),
# appTitle)
if auth.user and auth.user.first_name!=0:
response.flash
if not response.flash: response.flash = T('Hello')
return dict(message=T(''))
#return redirect(URL(request.application,'accueil','index')) # Here
redirect on app/accueil/index
I get web2py the default auth.messages.logged_in : "connected" or something
like that.
Outside the index function it get "Hello None" user :
auth.messages.logged_in=T('Hello ')+str(auth.user and auth.user.first_name)
@auth.requires_login()
def index():
"""
Index page using the internationalization operator T and flash
rendered by views/default/index.html or views/generic.html
"""
#auth.messages.logged_in=DIV(T('Hello '),
# str(auth.user and auth.user.first_name),
# BR(),
# T('Welcome on the '),
# appTitle)
if auth.user and auth.user.first_name!=0:
response.flash
if not response.flash: response.flash = T('Hello')
return dict(message=T(''))
#return redirect(URL(request.application,'accueil','index')) # Here
redirect on app/accueil/index
Richard
On Wed, Nov 24, 2010 at 2:24 PM, Richard Vézina <[email protected]
> wrote:
> I get :
> Hello %(first_name)s
>
> in flash response with this in default.py :
>
> auth.messages.logged_in=T('Hello %(first_name)s')#+str(auth.user and
> auth.user.first_name))
>
> @auth.requires_login()
> def index():
> """
> Index page using the internationalization operator T and flash
> rendered by views/default/index.html or views/generic.html
> """
> #auth.messages.logged_in=DIV(T('Hello '),
> # str(auth.user and auth.user.first_name),
> # BR(),
> # T('Welcome on the '),
> # appTitle)
> if auth.user and auth.user.first_name!=0:
> response.flash
> if not response.flash: response.flash = T('Hello')
> return dict(message=T(''))
>
> Richard
>
> On Wed, Nov 24, 2010 at 12:19 PM, mdipierro <[email protected]>wrote:
>
>> What does not working mean for you?
>>
>> That is not the code I asked you to try. This does not help isolate
>> the issue since you have everything in this message (helpers, T,
>> strings, session, auth variables). Try with a simple string first.
>>
>>
>> On Nov 24, 11:09 am, Richard Vézina <[email protected]>
>> wrote:
>> > You meen that this, any where in controllers
>> >
>> > auth.messages.logged_in=DIV(T('Hello '),
>> > str(auth.user and auth.user.first_name),
>> > BR(),
>> > T('Welcome on the '),
>> > appTitle,
>> > session.counter)
>> >
>> > Should prompt in response.flash once at login?
>> >
>> > Not working for me...
>> >
>> > Richard
>> >
>> > On Wed, Nov 24, 2010 at 12:06 PM, mdipierro <[email protected]>
>> wrote:
>> > > Well be used to set the flash immediately after login. You can put it
>> > > anywere you want (models or same controller as user action) and should
>> > > work.
>> >
>> > > On Nov 24, 10:56 am, Richard Vézina <[email protected]>
>> > > wrote:
>> > > > How do I get the auth.messages.logged_in in response.flash only at
>> login?
>> >
>> > > > I try many different things without success.
>> >
>> > > > Is auth.messages.logged_in as to be put in auth form controller?
>> >
>> > > > On Wed, Nov 24, 2010 at 11:18 AM, mdipierro <
>> [email protected]>
>> > > wrote:
>> > > > > how about something like this?
>> >
>> > > > > auth.messages.logged_in=T('Hello %(first_name)s and welcome on the
>> > > > > '+appTitle')
>> >
>> > > > > def index():
>> > > > > """
>> > > > > Index page
>> > > > > """
>> > > > > session.counter = (session.counter or 0) + 1
>> > > > > if auth.user and auth.user.first_name!=0 and
>> session.counter<=0:
>> > > > > pass
>> > > > > elif session.counter>0:
>> > > > > pass
>> > > > > else:
>> > > > > if not response.flash: response.flash = T('Hello')
>> > > > > return dict(message=T(''))
>> >
>> > > > > On Nov 24, 10:05 am, Richard Vézina <[email protected]>
>> > > > > wrote:
>> > > > > > Hello
>> >
>> > > > > > I need to have a response.flash on index page at login but not
>> when
>> > > the
>> > > > > user
>> > > > > > come back on index page during a session. I try to user
>> > > session.counter
>> > > > > but
>> > > > > > the session is not reset until the cookies are erase I think.
>> >
>> > > > > > Here my index controller (*not working*) :
>> >
>> > > > > > def index():
>> > > > > > """
>> > > > > > Index page
>> > > > > > """
>> > > > > > session.counter = (session.counter or 0) + 1
>> > > > > > if auth.user and auth.user.first_name!=0 and
>> session.counter<=0:
>> > > > > > response.flash = DIV(T('Hello ')+str(auth.user and
>> > > > > > auth.user.first_name),BR(),T('Welcome on the '),appTitle)
>> > > > > > elif session.counter>0:
>> > > > > > pass
>> > > > > > else:
>> > > > > > response.flash = T('Hello')
>> > > > > > return dict(message=T(''))
>> >
>> > > > > > Richard
>> >
>> >
>>
>
>