Passa al contenuto
Menu
È necessario essere registrati per interagire con la community.
La domanda è stata contrassegnata
3 Risposte
13931 Visualizzazioni

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



Avatar
Abbandona
Risposta migliore

Hi,

Replace this line

        ensure_db()

as,

        main.ensure_db()

Thanks
Avatar
Abbandona
Autore

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

Risposta migliore

Excellent

Avatar
Abbandona
Post correlati Risposte Visualizzazioni Attività
0
nov 23
1283
2
mag 22
4222
1
nov 20
6101
1
feb 16
6558
2
ago 20
10923