diff --git a/addons/web/controllers/main.py b/addons/web/controllers/main.py index 7fd9dcd89a2..4393823314c 100644 --- a/addons/web/controllers/main.py +++ b/addons/web/controllers/main.py @@ -809,6 +809,7 @@ class Database(http.Controller): @http.route('/web/database/manager', type='http', auth="none") def manager(self, debug=False): + request.session.logout() debug = debug is not False # we just check presence of `debug` query param js = "\n ".join('' % i for i in manifest_list('js', debug=debug)) css = "\n ".join('' % i for i in manifest_list('css', debug=debug)) @@ -838,12 +839,15 @@ class Database(http.Controller): @http.route('/web/database/create', type='json', auth="none") def create(self, fields): params = dict(map(operator.itemgetter('name', 'value'), fields)) - return request.session.proxy("db").create_database( + db_created = request.session.proxy("db").create_database( params['super_admin_pwd'], params['db_name'], bool(params.get('demo_data')), params['db_lang'], params['create_admin_pwd']) + if db_created: + request.session.authenticate(params['db_name'], 'admin', params['create_admin_pwd']) + return db_created @http.route('/web/database/duplicate', type='json', auth="none") def duplicate(self, fields):