[英]How to override http.py methods in Odoo 11?
我想為我的加載項覆蓋setup_db
方法,因為在當前情況下,您不能從具有數據庫名稱的url
獲取參數,並且如果用戶具有多個數據庫,則無法從隱身模式運行我的登錄鏈接。
我不希望用戶先進入/web/database/selector
。
我正在考慮用戶轉到/web/login?db=example_db_name
,然后以某種方式重定向到我的登錄鏈接。
(“以某種方式”,因為如果您鍵入它,它會將您重定向到/ web / login,因此我無法從登錄頁面添加重定向)。
我這樣做是假設odoo.conf
用戶已經
db_name = False, dbfilter = .
如果您遇到相同的問題,這是我的解決方案。 它覆蓋了默認方法,通常這是一個不好的方法,但是在我們這種情況下,我們無能為力。
from odoo import http
class Rooting(http.Root):
def setup_db(self, httprequest):
db = httprequest.session.db
# Check if session.db is legit
if db:
if db not in http.db_filter([db], httprequest=httprequest):
httprequest.session.logout()
db = None
if not db:
if 'db' in httprequest.args:
db = httprequest.args['db']
httprequest.session.db = db
if not db:
httprequest.session.db = http.db_monodb(httprequest)
http.Root.setup_db = Rooting.setup_db
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.