Files
odoo_source/addons/web_editor/views/iframe.xml
T
qsm-odoo 16f0e50318 [REF] web, web_editor, website: always let session load translations
Before this commit, the session object was responsible for loading the
translations in the backend only. There was then ugly code in web_editor
(which is also loaded in backend...) which was doing "if frontend then
load translations by myself". This code was also translating templates
while this is the qweb object's job. Now session is always responsible
for loading translation.

Note: the session object should be refactored/split.
2017-07-27 14:31:42 +02:00

78 lines
3.6 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<odoo>
<template id="layout" name="Editor layout">&lt;!DOCTYPE html&gt;
<html t-att-lang="lang and lang.replace('_', '-')"
t-att-data-editable="'1' if editable else None"
t-att-data-translatable="'1' if translatable else None"
t-att-data-edit_translations="'1' if edit_translations else None"
t-att-data-main-object="repr(main_object) if editable else None">
<head>
<meta charset="utf-8" />
<title>Odoo Editor layout</title>
<meta name="viewport" content="initial-scale=1"/>
<script type="text/javascript">
var snippets_url = '<t t-esc="snippets or ''"/>';
var callback = window.location.href.match(/callback=([^&amp;=]+)/)[1];
var odoo = {
session_info: {
is_superuser: <t t-esc="json.dumps(request.env.user._is_superuser())"/>,
is_frontend: true, // this is not really the frontend here but this key is used to detect if xml has to be manually loaded
},
_modules: ['web_editor'],
};
</script>
<t t-if="not dont_load_assets">
<t t-call-assets="web.assets_common" t-js="false"/>
<t t-call-assets="web.assets_frontend" t-js="false"/>
<t t-call-assets="web_editor.summernote" t-js="false"/>
<t t-call-assets="web_editor.assets_editor" t-js="false"/>
<t t-call-assets="web.assets_common" t-css="false"/>
<t t-call-assets="web_editor.summernote" t-css="false"/>
<t t-call-assets="web_editor.assets_editor" t-css="false"/>
<script type="text/javascript" src="/web/static/src/js/services/session.js"></script>
<script type="text/javascript" src="/web_editor/static/src/js/iframe.js"></script>
<script t-if="enable_editor and inline_mode" type="text/javascript" src="/web_editor/static/src/js/inline.js"></script>
</t>
<script>
if (window.top.odoo &amp;&amp; !window.top.odoo[callback+"_updown"]) {
window.top.odoo[callback+"_updown"] = function (value, fields_values) {
var editable = document.getElementsByClassName("o_editable")[0];
if (editable &amp;&amp; value !== editable.innerHTML) {
editable.innerHTML = value;
}
};
}
if(window.odoo.define) {
odoo.define('web.csrf', function (require) {
var token = "<t t-esc="request.csrf_token(None)"/>";
var core = require('web.core');
core.csrf_token = token;
core.qweb.default_dict.csrf_token = token;
});
}
</script>
<t t-raw="head or ''"/>
</head>
<body id="web_editor_inside_iframe" onload="var fn=window.top.odoo &amp;&amp; window.top.odoo[callback+'_content']; if(fn) {fn();} else {console.warn('Please don\'t open iframe without the odoo backend');}">
<div id="wrapwrap">
<main>
<t t-raw="0"/>
</main>
</div>
<t t-raw="add_html or ''"/>
</body>
</html>
</template>
<template id="FieldTextHtml" name="Editor HTML">
<t t-call="web_editor.layout">
<div id="editable_area" t-att-class="'' if edit_translations else 'o_editable'"></div>
</t>
</template>
</odoo>