跳至内容
菜单
此问题已终结
3 回复
13896 查看

Dear Team,

I am trying to overwrite web_login method in web controller Main class but somehow its not working for me..

Here is my code I used to do this..


import odoo.addons.web.controllers.main as main

import datetime import pytz

class Home(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)
...
....
(Entire method as it is...with some customization..)
...


On trying to login, this method is properly called replacing the default web_login().. but giving error as below..

ensure_db()
NameError: global name 'ensure_db' is not defined

What I am missing as its not finding ensure_db() ?? If I copy-paste ensure_db() here in my inherited,, it will again ask or another dependency ???

Please advice the correct way to overwrite ??
I just have couple of lines to be changed here... and keep entire method as it is..


Appreciate support team...

Thanks in advance..



形象
丢弃
最佳答案

Hi,

Replace this line

        ensure_db()

as,

        main.ensure_db()

Thanks
形象
丢弃
编写者

Great.. Thanks.. It worked.. ;)

最佳答案

Excellent

形象
丢弃
相关帖文 回复 查看 活动
0
11月 23
1251
2
5月 22
4168
1
11月 20
6067
1
2月 16
6527
2
8月 20
10873