Hi,
I did overridden the "web_login" function defined in the "Home" class in the "web" module and I need to search a record from that function but I am getting an internal server error that says,
AttributeError: 'Home (extended by Website, Home, AuthSignupHome)' object has no attribute 'env'
My function is as follows,
class Home(openerp.addons.web.controllers.main.Home):
@http.route('/web/login', type='http', auth="none")
def web_login(self, redirect=None, **kw):
ensure_db()
request.params['login_success'] = False
if request.httprequest.method == 'GET' and redirect and request.session.uid:
return http.redirect_with_hash(redirect)
if not request.uid:
request.uid = openerp.SUPERUSER_ID
values = request.params.copy()
try:
values['databases'] = http.db_list()
except openerp.exceptions.AccessDenied:
values['databases'] = None
if request.httprequest.method == 'POST':
old_uid = request.uid
uid = request.session.authenticate(request.session.db, request.params['login'], request.params['password'])
if uid is not False:
user = self.env['res.users'].search([('id', '=', uid)])
if user.is_blocked != True:
request.params['login_success'] = True
if not redirect:
redirect = '/web'
return http.redirect_with_hash(redirect)
else:
values['error'] = "You have pending customer payments and your system access is blocked.!! Please contact the administrator.!!"
return request.render('web.login', values)
request.uid = old_uid
values['error'] = "Wrong login/password"
return request.render('web.login', values)
How can I do "user = self.env['res.users'].search([('id', '=', uid)])" this in that function or is there any other way to implement this??
Thanks...