26 lines
968 B
Python
26 lines
968 B
Python
import odoo
|
|
from odoo import http
|
|
from odoo.http import request
|
|
from odoo import tools
|
|
from odoo.addons.web.controllers.main import ensure_db
|
|
from odoo.http import request, db_filter
|
|
|
|
class WebController(http.Controller):
|
|
@http.route('/web/session/authenticate', type='json', auth="none")
|
|
def authenticate(self, login, password, base_location=None, db=None):
|
|
if db:
|
|
if db not in http.db_filter([db]):
|
|
return {"error": "Database not allowed", "status": 403}
|
|
if request.session.db and request.session.db != db:
|
|
request.session.logout()
|
|
request.session.db = db
|
|
else:
|
|
db = tools.config.get('db_name')
|
|
|
|
if not db:
|
|
return {"error": "Database name should be specified in Conf File or passed in request", "status": 400}
|
|
|
|
ensure_db()
|
|
request.session.authenticate(db, login, password)
|
|
return request.env['ir.http'].session_info()
|