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

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

形象
丢弃

Checkout Template changes. Did you changed templates?

编写者

Nothing done with the template

编写者 最佳答案

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
形象
丢弃
相关帖文 回复 查看 活动
5
2月 24
24146
0
7月 18
2633
2
7月 18
3029
2
11月 17
4527
0
6月 25
2331