İçereği Atla
Menü
Bu soru işaretlendi
5 Cevaplar
20374 Görünümler

Hello,

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

Avatar
Vazgeç
En İyi Yanıt

Hello


if request.env.user == request.website.user_id:
Avatar
Vazgeç
Üretici

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

En İyi Yanıt

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', {})
Avatar
Vazgeç
En İyi Yanıt

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

Avatar
Vazgeç
En İyi Yanıt



Avatar
Vazgeç
Üretici En İyi Yanıt

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


Avatar
Vazgeç

A really bad idea to do it...

Üretici

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

İlgili Gönderiler Cevaplar Görünümler Aktivite
2
Ağu 25
159
5
Ağu 25
9891
2
Tem 25
1003
4
Haz 25
1134
1
Haz 25
1449