This question has been flagged
3 Replies
5077 Views

Hi,

When i tried to override the web_login function in the web module, it generates some issues.

I just override the function like this, no changes is made into the code, just copy and paste the function into custom module with necessary changes.

The function is this,

from odoo.addons.web.controllers import main

class Home(main.Home):

@http.route('/web/login', type='http', auth="none")
def web_login(self, redirect=None, **kw):
main.ensure_db()
request.params['login_success'] = False
if request.httprequest.method == 'GET' and redirect and request.session.uid:
return http.redirect_with_hash(redirect)
    #.... ...
    #...........

On overriding the function like this, there it generated alignment issue in the login page '/web/login'
An extra padding get added in the top of the page, also it shows the Administrator name(the name which shows after logged into the db) even without logged in. What is the reason ?

And there is no such problem/issues when auth is given as public

@http.route('/web/login', type='http', auth="public")
def web_login(self, redirect=None, **kw):

Why such an issue on giving auth="none", in the original file also it is auth="none".

Thanks

Avatar
Discard

Checkout Template changes. Did you changed templates?

Author

Nothing done with the template

Author Best Answer

It Seems that the function is already overrided in the website module with the auth as public.

@http.route(website=True, auth="public")
def web_login(self, redirect=None, *args, **kw):
response = super(Website, self).web_login(redirect=redirect, *args, **kw)
if not redirect and request.params['login_success']:
if request.env['res.users'].browse(request.uid).has_group('base.group_user'):
redirect = '/web?' + request.httprequest.query_string
else:
redirect = '/'
return http.redirect_with_hash(redirect)
return response
Avatar
Discard