Skip to Content
Menu
Musisz się zarejestrować, aby móc wchodzić w interakcje z tą społecznością.
To pytanie dostało ostrzeżenie
3 Odpowiedzi
14023 Widoki

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..



Awatar
Odrzuć
Najlepsza odpowiedź

Hi,

Replace this line

        ensure_db()

as,

        main.ensure_db()

Thanks
Awatar
Odrzuć
Autor

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

Najlepsza odpowiedź

Excellent

Awatar
Odrzuć
Powiązane posty Odpowiedzi Widoki Czynność
0
lis 23
1385
2
maj 22
4409
1
lis 20
6233
1
lut 16
6675
2
sie 20
11046