1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
|
# Part of Odoo. See LICENSE file for full copyright and licensing details.
from odoo import models
from odoo.http import request
CONTEXT_KEYS = ['editable', 'edit_translations', 'translatable']
class IrHttp(models.AbstractModel):
_inherit = 'ir.http'
@classmethod
def _get_web_editor_context(cls):
""" Check for ?editable and stuff in the query-string """
return {
key: True
for key in CONTEXT_KEYS
if key in request.httprequest.args and key not in request.env.context
}
@classmethod
def _pre_dispatch(cls, rule, args):
super()._pre_dispatch(rule, args)
ctx = cls._get_web_editor_context()
request.update_context(**ctx)
@classmethod
def _get_translation_frontend_modules_name(cls):
mods = super(IrHttp, cls)._get_translation_frontend_modules_name()
return mods + ['web_editor']
|