تخطي للذهاب إلى المحتوى
القائمة
لقد تم الإبلاغ عن هذا السؤال
5 الردود
20355 أدوات العرض

Hello,

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

الصورة الرمزية
إهمال
أفضل إجابة

Hello


if request.env.user == request.website.user_id:
الصورة الرمزية
إهمال
الكاتب

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

أفضل إجابة

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', {})
الصورة الرمزية
إهمال
أفضل إجابة

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

الصورة الرمزية
إهمال
أفضل إجابة



الصورة الرمزية
إهمال
الكاتب أفضل إجابة

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


الصورة الرمزية
إهمال

A really bad idea to do it...

الكاتب

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

المنشورات ذات الصلة الردود أدوات العرض النشاط
5
أغسطس 25
9881
2
يوليو 25
999
4
يونيو 25
1130
1
يونيو 25
1444
1
مايو 25
1355