Skip to Content
Meniu
Trebuie să fiți înregistrat pentru a interacționa cu comunitatea.
Această întrebare a fost marcată
5 Răspunsuri
20355 Vizualizări

Hello,

How to test if the user is logged in in Odoo website ?

Imagine profil
Abandonează
Cel mai bun răspuns

Hello


if request.env.user == request.website.user_id:
Imagine profil
Abandonează
Autor

Does this `request.website.user_id` returns the public user id ?

Cel mai bun răspuns

Safer to use the reference to the public user instead of hardcoding its id.

if request.env.user.id == request.env.ref('base.public_user').id:
return request.render('web.login', {})
Imagine profil
Abandonează
Cel mai bun răspuns

hi,
you can use request.session.uid or env.context.get('uid')

Imagine profil
Abandonează
Cel mai bun răspuns



Imagine profil
Abandonează
Autor Cel mai bun răspuns

Hello,

This could be done with this code snippet inside a web controller: (Tested on Odoo 8)

public_user = http.request.env['res.users'].sudo().search([('id', '=', 3),('active', '=', False)]) # Public user default ID
if request.uid == public_user.id:
     # The user is logged in
     # Put your code for logged in user here
else:
    # The user is not logged in
    # Put your code for public users here

Regards,

Slim BHIRI


Imagine profil
Abandonează

A really bad idea to do it...

Autor

Could you provide more explanation why it is a good idea and clarify your response please ? Because I haden't understood your reponse.

Related Posts Răspunsuri Vizualizări Activitate
5
aug. 25
9881
2
iul. 25
999
4
iun. 25
1130
1
iun. 25
1444
1
mai 25
1355