[REF] web,web_editor,website(_*),report,pos,mass_mailing: assets

* Remove recursive assets inclusions (i.e. assets_editor was including
assets_common, summernote, ...)
* Better construct the assets (link, then script + type attribute)
* Better include the assets (split js / css, always use t-call-assets)
* Simplifies the number of assets
* Move bootstrap js to assets common
* assets_frontend is now created by web module to allow using it on the
connexion page but also in the web_editor, where colors have to be
bootstrap/theme ones. Note: if a module depends on website, then keep
using the inherit_id="WEBSITE.assets_frontend"
This commit is contained in:
qsm-odoo
2016-02-24 13:47:06 +01:00
parent 5b65befcd8
commit 88c2b6843a
11 changed files with 514 additions and 524 deletions
+10 -14
View File
@@ -1,13 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<odoo>
<template id="assets_editor" inherit_id="web_editor.assets_editor">
<xpath expr="link[last()]" position="after">
<link rel="stylesheet" type="text/less" href="/mass_mailing/static/src/less/mass_mailing_editor.less"/>
</xpath>
</template>
<!-- Template Choice page -->
<template id="FieldTextHtmlInline" name="Editor layout">
<t t-set="head">
<t t-if="enable_editor">
<link rel="stylesheet" href="/mass_mailing/static/src/css/mass_mailing_editor.css" type="text/css"/>
<link rel="stylesheet" href="/mass_mailing/static/src/css/mass_mailing_editor_thumb.css" type="text/css"/>
<script type="text/javascript" src="/mass_mailing/static/src/js/mass_mailing_editor.js"></script>
</t>
@@ -23,10 +25,9 @@
</t>
<t t-call="web_editor.layout">
<div>
<div t-if="not edit_translations" id="editable_area" class="o_editable" t-att-data-oe-model="model" t-att-data-oe-field="field" t-att-data-oe-id="res_id" data-oe-type="html"><t t-raw="content"/></div>
<div t-if="edit_translations" id="editable_area"><t t-raw="content"/></div>
</div>
<div t-if="not edit_translations" id="editable_area" class="o_editable" t-att-data-oe-model="model" t-att-data-oe-field="field" t-att-data-oe-id="res_id" data-oe-type="html"><t t-raw="content"/></div>
<div t-if="edit_translations" id="editable_area"><t t-raw="content"/></div>
<div id="templates" class="o_not_editable o_css_editor hidden" t-if="enable_editor">
<h1 class="page-header mt16 email_head panel-primary">
Select a theme
@@ -51,13 +52,11 @@
</div>
</div>
</div>
</t>
</template>
<template id="FieldTextHtmlPopupContent" name="Editor layout">
<t t-set="head">
<link rel="stylesheet" href="/mass_mailing/static/src/css/mass_mailing_editor.css" type="text/css"/>
<link rel="stylesheet" href="/mass_mailing/static/src/css/mass_mailing_editor_thumb.css" type="text/css"/>
<link rel="stylesheet" href="/mass_mailing/static/src/css/mass_mailing_popup.css" type="text/css"/>
</t>
@@ -77,7 +76,4 @@
</div>
</t>
</template>
</data>
</openerp>
</odoo>
+4 -2
View File
@@ -23,8 +23,10 @@
<link rel="shortcut icon" href="/web/static/src/img/favicon.ico" type="image/x-icon"/>
<t t-call-assets="web.assets_common" t-css="false" />
<t t-call-assets="web.assets_backend" t-css="false" />
<t t-call-assets="web.assets_common" t-css="false"/>
<t t-call-assets="web.assets_backend" t-css="false"/>
<t t-call-assets="web_editor.summernote" t-css="false"/>
<t t-call-assets="web_editor.assets_editor" t-css="false"/>
<t t-call-assets="point_of_sale.assets"/>
<script type="text/javascript" id="loading-script" t-raw="init">
+30 -12
View File
@@ -2,11 +2,16 @@
<openerp>
<data>
<template id="report.assets_common">
<link href="/web/static/lib/bootstrap/css/bootstrap.css" rel="stylesheet"/>
<link href="/website/static/src/css/website.css" rel="stylesheet"/>
<link href="/web/static/lib/fontawesome/css/font-awesome.css" rel="stylesheet"/>
<link href="/base/static/src/css/description.css" rel="stylesheet"/>
<link href="/report/static/src/css/report.css" rel="stylesheet"/>
<t t-call="web.less_helpers"/>
<link href="/web/static/src/less/import_bootstrap.less" rel="stylesheet" type="text/less"/>
<link href="/base/static/src/css/description.css" rel="stylesheet" type="text/css"/>
<!-- FIXME remove website dependency ..? -->
<link href="/website/static/src/less/website.wrapwrap.less" rel="stylesheet" type="text/less"/>
<link href="/website/static/src/less/website.snippets.less" rel="stylesheet" type="text/less"/>
<link href="/report/static/src/less/report.less" rel="stylesheet" type="text/less"/>
</template>
<template id="report.assets_pdf">
@@ -14,7 +19,10 @@
</template>
<template id="report.assets_editor">
<link href="/report/static/src/css/report.editor.css" rel="stylesheet"/>
<t t-call="web.less_helpers"/>
<link href="/report/static/src/less/report.editor.less" rel="stylesheet" type="text/less"/>
<script type="text/javascript" src="/web/static/src/js/framework/session_instance.js"></script>
<script type="text/javascript" src='/report/static/src/js/report.editor.js' />
</template>
@@ -32,13 +40,21 @@
<meta charset="utf-8" />
<meta name="viewport" content="initial-scale=1"/>
<title><t t-esc="title or 'Odoo Report'"/></title>
<t t-call-assets="report.assets_common"/>
<t t-call-assets="web.assets_common" t-js="false"/>
<t t-call-assets="report.assets_common" t-js="false"/>
<t t-if="editable">
<t t-call-assets="web_editor.assets_editor"/>
<t t-call-assets="report.assets_editor"/>
<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="report.assets_editor" t-js="false"/>
</t>
<t t-if="editable">
<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"/>
<t t-call-assets="report.assets_editor" t-css="false"/>
</t>
</head>
<body class="container" t-att-style="editable and 'margin-top: 40px;'">
<body class="container">
<div id="wrapwrap">
<main>
<t t-raw="0"/>
@@ -163,8 +179,10 @@
&lt;!DOCTYPE html&gt;
<html style="height: 0;">
<head>
<t t-call-assets="report.assets_pdf"/>
<t t-call-assets="report.assets_common"/>
<t t-call-assets="report.assets_pdf" t-js="false"/>
<t t-call-assets="report.assets_common" t-js="false"/>
<t t-call-assets="report.assets_pdf" t-css="false"/>
<t t-call-assets="report.assets_common" t-css="false"/>
<meta charset="utf-8"/>
<t t-if="subst is True">
<script>
+7 -5
View File
@@ -1,6 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<odoo>
<template id="assets_frontend" inherit_id="website.assets_frontend" name="Theme Default Assets Frontend">
<xpath expr="link[last()]" position="after">
<link rel="stylesheet" href="/theme_default/static/src/less/customize_modal.less"/>
</xpath>
</template>
<template id="customize_modal" inherit_id="website.theme_customize" name="treehouse Customize Modal" priority="1">
<xpath expr="div" position="replace">
@@ -165,6 +169,4 @@
<link href="/theme_default/static/src/less/option_font.less" rel="stylesheet" type="text/less"/>
</xpath>
</template>
</data>
</openerp>
</odoo>
+352 -349
View File
@@ -1,182 +1,188 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<template id="web.assets_common">
<script type="text/javascript" src="/web/static/lib/es5-shim/es5-shim.min.js"></script>
<script type="text/javascript" src="/web/static/lib/underscore/underscore.js"></script>
<script type="text/javascript" src="/web/static/lib/underscore.string/lib/underscore.string.js"></script>
<script type="text/javascript" src="/web/static/lib/moment/moment.js"></script>
<odoo>
<template id="web.less_helpers">
<link rel="stylesheet" type="text/less" href="/web/static/lib/bootstrap/less/variables.less"/>
<link rel="stylesheet" type="text/less" href="/web/static/lib/bootstrap/less/mixins/vendor-prefixes.less"/>
<link rel="stylesheet" type="text/less" href="/web/static/lib/bootstrap/less/mixins/buttons.less"/>
<!-- jQuery stuff -->
<script type="text/javascript" src="/web/static/lib/jquery/jquery.js"></script>
<link rel="stylesheet" href="/web/static/lib/jquery.ui/jquery-ui.css"/>
<script type="text/javascript" src="/web/static/lib/jquery.ui/jquery-ui.js"></script>
<script type="text/javascript" src="/web/static/lib/jquery/jquery.browser.js"></script>
<script type="text/javascript" src="/web/static/lib/jquery.blockUI/jquery.blockUI.js"></script>
<script type="text/javascript" src="/web/static/lib/jquery.hotkeys/jquery.hotkeys.js"></script>
<script type="text/javascript" src="/web/static/lib/jquery.placeholder/jquery.placeholder.js"></script>
<script type="text/javascript" src="/web/static/lib/jquery.form/jquery.form.js"></script>
<link rel="stylesheet" type="text/less" href="/web/static/src/less/variables.less"/>
<link rel="stylesheet" type="text/less" href="/web/static/src/less/utils.less"/>
</template>
<script type="text/javascript" src="/web/static/lib/jquery.ba-bbq/jquery.ba-bbq.js"></script>
<template id="web.assets_common">
<t t-call="web.less_helpers"/>
<script type="text/javascript" src="/web/static/lib/qweb/qweb2.js"></script>
<script type="text/javascript" src="/web/static/src/js/boot.js"></script>
<script type="text/javascript" src="/web/static/src/js/framework/class.js"></script>
<script type="text/javascript" src="/web/static/src/js/framework/translation.js"></script>
<script type="text/javascript" src="/web/static/src/js/framework/ajax.js"></script>
<script type="text/javascript" src="/web/static/src/js/framework/time.js"></script>
<script type="text/javascript" src="/web/static/src/js/framework/mixins.js"></script>
<script type="text/javascript" src="/web/static/src/js/framework/widget.js"></script>
<script type="text/javascript" src="/web/static/src/js/framework/registry.js"></script>
<script type="text/javascript" src="/web/static/src/js/framework/session.js"></script>
<script type="text/javascript" src="/web/static/src/js/framework/model.js"></script>
<script type="text/javascript" src="/web/static/src/js/framework/utils.js"></script>
<script type="text/javascript" src="/web/static/src/js/framework/core.js"></script>
<script type="text/javascript" src="/web/static/src/js/framework/dialog.js"></script>
<script type="text/javascript" src="/web/static/src/js/tour.js"></script>
<script type="text/javascript" src="/web/static/test/menu.js"></script>
<script type="text/javascript" src="/web/static/test/x2many.js"></script>
<link rel="stylesheet" type="text/css" href="/web/static/lib/jquery.ui/jquery-ui.css"/>
<link rel="stylesheet" href="/web/static/lib/fontawesome/css/font-awesome.css"/>
<link rel="stylesheet" href="/web/static/src/fonts/lato/stylesheet.css" />
<link rel="stylesheet" type="text/css" href="/web/static/lib/fontawesome/css/font-awesome.css"/>
<link rel="stylesheet" type="text/css" href="/web/static/src/fonts/lato/stylesheet.css" />
<link rel="stylesheet" href="/web/static/src/less/mimetypes.less"/>
<link rel="stylesheet" href="/web/static/src/less/animation.less"/>
<link rel="stylesheet" type="text/less" href="/web/static/src/less/mimetypes.less"/>
<link rel="stylesheet" type="text/less" href="/web/static/src/less/animation.less"/>
<!-- Datetime Picker -->
<link rel="stylesheet" href="/web/static/lib/bootstrap-datetimepicker/css/bootstrap-datetimepicker.css"/>
<script type="text/javascript" src="/web/static/lib/bootstrap-datetimepicker/src/js/bootstrap-datetimepicker.js"></script>
<link rel="stylesheet" type="text/css" href="/web/static/lib/bootstrap-datetimepicker/css/bootstrap-datetimepicker.css"/>
<link rel="stylesheet" type="text/css" href="/web/static/lib/select2/select2.css"/>
<link rel="stylesheet" type="text/css" href="/web/static/lib/select2-bootstrap-css/select2-bootstrap.css"/>
<!-- Select 2 -->
<link rel="stylesheet" href="/web/static/lib/select2/select2.css"/>
<link rel="stylesheet" href="/web/static/lib/select2-bootstrap-css/select2-bootstrap.css"/>
<script type="text/javascript" src="/web/static/lib/select2/select2.js"></script>
</template>
<script type="text/javascript" src="/web/static/lib/es5-shim/es5-shim.min.js"></script>
<script type="text/javascript" src="/web/static/lib/underscore/underscore.js"></script>
<script type="text/javascript" src="/web/static/lib/underscore.string/lib/underscore.string.js"></script>
<script type="text/javascript" src="/web/static/lib/moment/moment.js"></script>
<template id="web.bootstrap">
<script src="/web/static/lib/bootstrap/js/affix.js"></script>
<script src="/web/static/lib/bootstrap/js/alert.js"></script>
<script src="/web/static/lib/bootstrap/js/button.js"></script>
<script src="/web/static/lib/bootstrap/js/carousel.js"></script>
<script src="/web/static/lib/bootstrap/js/collapse.js"></script>
<script src="/web/static/lib/bootstrap/js/dropdown.js"></script>
<script src="/web/static/lib/bootstrap/js/modal.js"></script>
<script src="/web/static/lib/bootstrap/js/tooltip.js"></script>
<script src="/web/static/lib/bootstrap/js/popover.js"></script>
<script src="/web/static/lib/bootstrap/js/scrollspy.js"></script>
<script src="/web/static/lib/bootstrap/js/tab.js"></script>
<script src="/web/static/lib/bootstrap/js/transition.js"></script>
</template>
<script type="text/javascript" src="/web/static/lib/jquery/jquery.js"></script>
<script type="text/javascript" src="/web/static/lib/jquery.ui/jquery-ui.js"></script>
<script type="text/javascript" src="/web/static/lib/jquery/jquery.browser.js"></script>
<script type="text/javascript" src="/web/static/lib/jquery.blockUI/jquery.blockUI.js"></script>
<script type="text/javascript" src="/web/static/lib/jquery.hotkeys/jquery.hotkeys.js"></script>
<script type="text/javascript" src="/web/static/lib/jquery.placeholder/jquery.placeholder.js"></script>
<script type="text/javascript" src="/web/static/lib/jquery.form/jquery.form.js"></script>
<script type="text/javascript" src="/web/static/lib/jquery.ba-bbq/jquery.ba-bbq.js"></script>
<template id="web.assets_backend">
<!-- jQuery addons -->
<script type="text/javascript" src="/web/static/lib/jquery.scrollTo/jquery.scrollTo.js"></script>
<script src="/web/static/lib/bootstrap/js/affix.js"></script>
<script src="/web/static/lib/bootstrap/js/alert.js"></script>
<script src="/web/static/lib/bootstrap/js/button.js"></script>
<script src="/web/static/lib/bootstrap/js/carousel.js"></script>
<script src="/web/static/lib/bootstrap/js/collapse.js"></script>
<script src="/web/static/lib/bootstrap/js/dropdown.js"></script>
<script src="/web/static/lib/bootstrap/js/modal.js"></script>
<script src="/web/static/lib/bootstrap/js/tooltip.js"></script>
<script src="/web/static/lib/bootstrap/js/popover.js"></script>
<script src="/web/static/lib/bootstrap/js/scrollspy.js"></script>
<script src="/web/static/lib/bootstrap/js/tab.js"></script>
<script src="/web/static/lib/bootstrap/js/transition.js"></script>
<t t-call="web.bootstrap"/>
<script type="text/javascript" src="/web/static/lib/qweb/qweb2.js"></script>
<script type="text/javascript" src="/web/static/src/js/boot.js"></script>
<script type="text/javascript" src="/web/static/src/js/framework/class.js"></script>
<script type="text/javascript" src="/web/static/src/js/framework/translation.js"></script>
<script type="text/javascript" src="/web/static/src/js/framework/ajax.js"></script>
<script type="text/javascript" src="/web/static/src/js/framework/time.js"></script>
<script type="text/javascript" src="/web/static/src/js/framework/mixins.js"></script>
<script type="text/javascript" src="/web/static/src/js/framework/widget.js"></script>
<script type="text/javascript" src="/web/static/src/js/framework/registry.js"></script>
<script type="text/javascript" src="/web/static/src/js/framework/session.js"></script>
<script type="text/javascript" src="/web/static/src/js/framework/model.js"></script>
<script type="text/javascript" src="/web/static/src/js/framework/utils.js"></script>
<script type="text/javascript" src="/web/static/src/js/framework/core.js"></script>
<script type="text/javascript" src="/web/static/src/js/framework/dialog.js"></script>
<script type="text/javascript" src="/web/static/src/js/tour.js"></script>
<script type="text/javascript" src="/web/static/test/menu.js"></script>
<script type="text/javascript" src="/web/static/test/x2many.js"></script>
<!-- nv.d3 -->
<link rel="stylesheet" href="/web/static/lib/nvd3/nv.d3.css"/>
<script type="text/javascript" src="/web/static/lib/nvd3/d3.v3.js"></script>
<script type="text/javascript" src="/web/static/lib/nvd3/nv.d3.js"></script>
<script type="text/javascript" src="/web/static/lib/bootstrap-datetimepicker/src/js/bootstrap-datetimepicker.js"></script>
<script type="text/javascript" src="/web/static/lib/select2/select2.js"></script>
</template>
<!-- Backbone -->
<script type="text/javascript" src="/web/static/lib/backbone/backbone.js"></script>
<template id="web.assets_backend">
<t t-call="web.less_helpers"/>
<!-- Internals -->
<script type="text/javascript" charset="utf-8">
odoo._modules = <t t-raw="get_modules_order()"/>;
</script>
<link rel="stylesheet" href="/web/static/src/css/base.css"/>
<link rel="stylesheet" href="/web/static/src/css/data_export.css"/>
<link rel="stylesheet" href="/base/static/src/css/modules.css"/>
<link rel="stylesheet" type="text/less" href="/web/static/src/less/import_bootstrap.less"/>
<link rel="stylesheet" href='/website/static/src/less/import_bootstrap.less'/>
<link rel="stylesheet" href="/web/static/src/less/variables.less"/>
<link rel="stylesheet" href="/web/static/src/less/enterprise_compatibility.less"/>
<link rel="stylesheet" href="/web/static/src/less/utils.less"/>
<link rel="stylesheet" href="/web/static/src/less/modal.less"/>
<link rel="stylesheet" href="/web/static/src/less/notification.less"/>
<link rel="stylesheet" href="/web/static/src/less/switch_company_menu.less"/>
<link rel="stylesheet" type="text/css" href="/web/static/lib/nvd3/nv.d3.css"/>
<script type="text/javascript" src="/web/static/lib/py.js/lib/py.js"></script>
<link rel="stylesheet" type="text/css" href="/web/static/src/css/base.css"/>
<link rel="stylesheet" type="text/css" href="/web/static/src/css/data_export.css"/>
<link rel="stylesheet" type="text/css" href="/base/static/src/css/modules.css"/>
<!-- Special case: core.js declares $.browser needed by ba-bbq -->
<script type="text/javascript" src="/web/static/lib/jquery.ba-bbq/jquery.ba-bbq.js"></script>
<link rel="stylesheet" type="text/less" href="/web/static/src/less/enterprise_compatibility.less"/>
<link rel="stylesheet" type="text/less" href="/web/static/src/less/modal.less"/>
<link rel="stylesheet" type="text/less" href="/web/static/src/less/notification.less"/>
<link rel="stylesheet" type="text/less" href="/web/static/src/less/switch_company_menu.less"/>
<script type="text/javascript" src="/web/static/src/js/framework/data_model.js"></script>
<script type="text/javascript" src="/web/static/src/js/framework/formats.js"></script>
<script type="text/javascript" src="/web/static/src/js/framework/view.js"></script>
<script type="text/javascript" src="/web/static/src/js/framework/pyeval.js"></script>
<script type="text/javascript" src="/web/static/src/js/action_manager.js"></script>
<script type="text/javascript" src="/web/static/src/js/control_panel.js"></script>
<script type="text/javascript" src="/web/static/src/js/view_manager.js"></script>
<script type="text/javascript" src="/web/static/src/js/web_client.js"></script>
<script type="text/javascript" src="/web/static/src/js/framework/data.js"></script>
<script type="text/javascript" src="/web/static/src/js/compatibility.js"></script>
<script type="text/javascript" src="/web/static/src/js/framework/misc.js"></script>
<script type="text/javascript" src="/web/static/src/js/framework/session_instance.js"></script>
<script type="text/javascript" src="/web/static/src/js/framework/crash_manager.js"></script>
<script type="text/javascript" src="/web/static/src/js/widgets/change_password.js"></script>
<script type="text/javascript" src="/web/static/src/js/widgets/debug_manager.js"></script>
<script type="text/javascript" src="/web/static/src/js/widgets/data_export.js"></script>
<script type="text/javascript" src="/web/static/src/js/widgets/date_picker.js"></script>
<script type="text/javascript" src="/web/static/src/js/widgets/loading.js"></script>
<script type="text/javascript" src="/web/static/src/js/widgets/notification.js"></script>
<script type="text/javascript" src="/web/static/src/js/widgets/sidebar.js"></script>
<script type="text/javascript" src="/web/static/src/js/widgets/priority.js"></script>
<script type="text/javascript" src="/web/static/src/js/widgets/progress_bar.js"></script>
<script type="text/javascript" src="/web/static/src/js/widgets/pager.js"></script>
<script type="text/javascript" src="/web/static/src/js/widgets/systray_menu.js"></script>
<script type="text/javascript" src="/web/static/src/js/widgets/switch_company_menu.js"></script>
<script type="text/javascript" src="/web/static/src/js/widgets/user_menu.js"></script>
<script type="text/javascript" src="/web/static/src/js/menu.js"></script>
<script type="text/javascript" src="/web/static/src/js/views/list_common.js"></script>
<script type="text/javascript" src="/web/static/src/js/views/list_view.js"></script>
<script type="text/javascript" src="/web/static/src/js/views/form_view.js"></script>
<script type="text/javascript" src="/web/static/src/js/views/form_common.js"></script>
<script type="text/javascript" src="/web/static/src/js/views/form_widgets.js"></script>
<script type="text/javascript" src="/web/static/src/js/views/form_relational_widgets.js"></script>
<script type="text/javascript" src="/web/static/src/js/views/list_view_editable.js"></script>
<script type="text/javascript" src="/web/static/src/js/views/pivot_view.js"></script>
<script type="text/javascript" src="/web/static/src/js/views/graph_view.js"></script>
<script type="text/javascript" src="/web/static/src/js/views/graph_widget.js"></script>
<script type="text/javascript" src="/web/static/src/js/views/search_view.js"></script>
<script type="text/javascript" src="/web/static/src/js/views/search_filters.js"></script>
<script type="text/javascript" src="/web/static/src/js/views/search_inputs.js"></script>
<script type="text/javascript" src="/web/static/src/js/views/search_menus.js"></script>
<script type="text/javascript" src="/web/static/src/js/views/tree_view.js"></script>
<script type="text/javascript" src="/web/static/src/js/apps.js"></script>
<script type="text/javascript" src="/web/static/lib/jquery.scrollTo/jquery.scrollTo.js"></script>
<script type="text/javascript" src="/web/static/lib/nvd3/d3.v3.js"></script>
<script type="text/javascript" src="/web/static/lib/nvd3/nv.d3.js"></script>
<script type="text/javascript" src="/web/static/lib/backbone/backbone.js"></script>
</template>
<script type="text/javascript" charset="utf-8">
odoo._modules = <t t-raw="get_modules_order()"/>;
</script>
<template id="web.layout" name="Web layout">&lt;!DOCTYPE html&gt;
<html style="height: 100%">
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>Odoo</title>
<link rel="shortcut icon" href="/web/static/src/img/favicon.ico" type="image/x-icon"/>
<link rel="stylesheet" href="/web/static/src/css/full.css" />
<t t-raw="head or ''"/>
</head>
<body t-att-class="body_classname">
<t t-raw="0"/>
</body>
</html>
</template>
<script type="text/javascript" src="/web/static/lib/py.js/lib/py.js"></script>
<!-- Special case: core.js declares $.browser needed by ba-bbq -->
<script type="text/javascript" src="/web/static/lib/jquery.ba-bbq/jquery.ba-bbq.js"></script>
<template id="web.login_layout" name="Login Layout">
<t t-call="web.layout">
<t t-set="head">
<link rel="stylesheet" href="/web/static/lib/bootstrap/css/bootstrap.css"/>
<link rel="stylesheet" href="/web/static/lib/fontawesome/css/font-awesome.css"/>
<script src="/web/static/lib/jquery/jquery.js" type="text/javascript"/>
</t>
<t t-set="body_classname" t-value="'container'"/>
<div class="row">
<div class="col-md-6 col-md-offset-3 o_database_list">
<script type="text/javascript" src="/web/static/src/js/framework/data_model.js"></script>
<script type="text/javascript" src="/web/static/src/js/framework/formats.js"></script>
<script type="text/javascript" src="/web/static/src/js/framework/view.js"></script>
<script type="text/javascript" src="/web/static/src/js/framework/pyeval.js"></script>
<script type="text/javascript" src="/web/static/src/js/action_manager.js"></script>
<script type="text/javascript" src="/web/static/src/js/control_panel.js"></script>
<script type="text/javascript" src="/web/static/src/js/view_manager.js"></script>
<script type="text/javascript" src="/web/static/src/js/web_client.js"></script>
<script type="text/javascript" src="/web/static/src/js/framework/data.js"></script>
<script type="text/javascript" src="/web/static/src/js/compatibility.js"></script>
<script type="text/javascript" src="/web/static/src/js/framework/misc.js"></script>
<script type="text/javascript" src="/web/static/src/js/framework/session_instance.js"></script>
<script type="text/javascript" src="/web/static/src/js/framework/crash_manager.js"></script>
<script type="text/javascript" src="/web/static/src/js/widgets/change_password.js"></script>
<script type="text/javascript" src="/web/static/src/js/widgets/debug_manager.js"></script>
<script type="text/javascript" src="/web/static/src/js/widgets/data_export.js"></script>
<script type="text/javascript" src="/web/static/src/js/widgets/date_picker.js"></script>
<script type="text/javascript" src="/web/static/src/js/widgets/loading.js"></script>
<script type="text/javascript" src="/web/static/src/js/widgets/notification.js"></script>
<script type="text/javascript" src="/web/static/src/js/widgets/sidebar.js"></script>
<script type="text/javascript" src="/web/static/src/js/widgets/priority.js"></script>
<script type="text/javascript" src="/web/static/src/js/widgets/progress_bar.js"></script>
<script type="text/javascript" src="/web/static/src/js/widgets/pager.js"></script>
<script type="text/javascript" src="/web/static/src/js/widgets/systray_menu.js"></script>
<script type="text/javascript" src="/web/static/src/js/widgets/switch_company_menu.js"></script>
<script type="text/javascript" src="/web/static/src/js/widgets/user_menu.js"></script>
<script type="text/javascript" src="/web/static/src/js/menu.js"></script>
<script type="text/javascript" src="/web/static/src/js/views/list_common.js"></script>
<script type="text/javascript" src="/web/static/src/js/views/list_view.js"></script>
<script type="text/javascript" src="/web/static/src/js/views/form_view.js"></script>
<script type="text/javascript" src="/web/static/src/js/views/form_common.js"></script>
<script type="text/javascript" src="/web/static/src/js/views/form_widgets.js"></script>
<script type="text/javascript" src="/web/static/src/js/views/form_relational_widgets.js"></script>
<script type="text/javascript" src="/web/static/src/js/views/list_view_editable.js"></script>
<script type="text/javascript" src="/web/static/src/js/views/pivot_view.js"></script>
<script type="text/javascript" src="/web/static/src/js/views/graph_view.js"></script>
<script type="text/javascript" src="/web/static/src/js/views/graph_widget.js"></script>
<script type="text/javascript" src="/web/static/src/js/views/search_view.js"></script>
<script type="text/javascript" src="/web/static/src/js/views/search_filters.js"></script>
<script type="text/javascript" src="/web/static/src/js/views/search_inputs.js"></script>
<script type="text/javascript" src="/web/static/src/js/views/search_menus.js"></script>
<script type="text/javascript" src="/web/static/src/js/views/tree_view.js"></script>
<script type="text/javascript" src="/web/static/src/js/apps.js"></script>
</template>
<template id="web.assets_frontend">
<t t-call="web.less_helpers"/>
<link rel="stylesheet" type="text/less" href="/web/static/src/less/import_bootstrap.less"/>
<script type="text/javascript" src="/web/static/src/js/framework/session_instance.js"></script>
</template>
<template id="web.layout" name="Web layout">&lt;!DOCTYPE html&gt;
<html style="height: 100%">
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>Odoo</title>
<link rel="shortcut icon" href="/web/static/src/img/favicon.ico" type="image/x-icon"/>
<link rel="stylesheet" href="/web/static/src/css/full.css" />
<t t-raw="head or ''"/>
</head>
<body t-att-class="body_classname">
<t t-raw="0"/>
</body>
</html>
</template>
<template id="web.login_layout" name="Login Layout">
<t t-call="web.layout">
<t t-set="head">
<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.assets_common" t-css="false"/>
<t t-call-assets="web.assets_frontend" t-css="false"/>
</t>
<t t-set="body_classname" t-value="'container'"/>
<div class="row">
<div class="col-md-6 col-md-offset-3 o_database_list">
<div class="text-center">
<img t-attf-src="/web/binary/company_logo{{ '?dbname='+db if db else '' }}"/>
<img t-attf-src="/web/binary/company_logo{{ '?dbname='+db if db else '' }}"/>
</div>
<t t-raw="0"/>
<div class="text-center" t-if="not disable_footer">
@@ -185,179 +191,130 @@
</t>
<a href="https://www.odoo.com" target="_blank">Powered by <span>Odoo</span></a>
</div>
</div>
</div>
</t>
</template>
</div>
</t>
</template>
<template id="web.login" name="Login">
<t t-call="web.login_layout">
<template id="web.login" name="Login">
<t t-call="web.login_layout">
<form class="oe_login_form" role="form" t-attf-action="/web/login{{ '?debug' if debug else '' }}" method="post" onsubmit="this.action = this.action + location.hash">
<input type="hidden" name="csrf_token" t-att-value="request.csrf_token()"/>
<form class="oe_login_form" role="form" t-attf-action="/web/login{{ '?debug' if debug else '' }}" method="post" onsubmit="this.action = this.action + location.hash">
<input type="hidden" name="csrf_token" t-att-value="request.csrf_token()"/>
<div class="form-group field-db" t-if="databases and len(databases) &gt; 1">
<label for="db" class="control-label">Database</label>
<div class="input-group">
<input type="text" name="db" t-att-value="request.db" id="db" class="form-control" required="required" readonly="readonly"/>
<span class="input-group-btn">
<a href="/web/database/selector" class="btn btn-default">Select <i class="fa fa-database"></i></a>
</span>
</div>
</div>
<div class="form-group field-db" t-if="databases and len(databases) &gt; 1">
<label for="db" class="control-label">Database</label>
<div class="input-group">
<input type="text" name="db" t-att-value="request.db" id="db" class="form-control" required="required" readonly="readonly"/>
<span class="input-group-btn">
<a href="/web/database/selector" class="btn btn-default">Select <i class="fa fa-database"></i></a>
</span>
<div class="form-group field-login">
<label for="login" class="control-label">Email</label>
<input type="text" name="login" t-att-value="login" id="login" class="form-control" required="required" autofocus="autofocus"/>
</div>
<div class="form-group field-password">
<label for="password" class="control-label">Password</label>
<input type="password" name="password" id="password" class="form-control" required="required" t-att-autofocus="'autofocus' if login else None"/>
</div>
<p class="alert alert-danger" t-if="error">
<t t-esc="error"/>
</p>
<p class="alert alert-success" t-if="message">
<t t-esc="message"/>
</p>
<input type="hidden" name="redirect" t-att-value="redirect"/>
<div class="clearfix oe_login_buttons">
<button type="submit" class="btn btn-primary">Log in</button>
</div>
</form>
</t>
</template>
<template id="web.menu">
<ul class="nav navbar-nav navbar-left oe_application_menu_placeholder" style="display: none;">
<li t-foreach="menu_data['children']" t-as="menu">
<t t-call="web.menu_link"/>
</li>
<li id="menu_more_container" class="dropdown" style="display: none;">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">More <b class="caret"></b></a>
<ul id="menu_more" class="dropdown-menu"></ul>
</li>
</ul>
<ul class="nav navbar-nav navbar-right oe_user_menu_placeholder" style="display: none;"/>
<ul class="nav navbar-nav navbar-right oe_systray" style="display: none;"/>
</template>
<template id="web.menu_secondary">
<a class="oe_logo" t-att-href="'/web/?debug' if debug else '/web'">
<span class="oe_logo_edit">Edit Company data</span>
<img src='/web/binary/company_logo'/>
</a>
<div class="oe_secondary_menus_container">
<t t-foreach="menu_data['children']" t-as="menu">
<div style="display: none" class="oe_secondary_menu" t-att-data-menu-parent="menu['id']">
<t t-foreach="menu['children']" t-as="menu">
<div class="oe_secondary_menu_section">
<t t-if="menu['children']"><t t-esc="menu['name']"/></t>
<t t-if="not menu['children']"><t t-call="web.menu_link"/></t>
</div>
</div>
<div class="form-group field-login">
<label for="login" class="control-label">Email</label>
<input type="text" name="login" t-att-value="login" id="login" class="form-control" required="required" autofocus="autofocus"/>
</div>
<div class="form-group field-password">
<label for="password" class="control-label">Password</label>
<input type="password" name="password" id="password" class="form-control" required="required" t-att-autofocus="'autofocus' if login else None"/>
</div>
<p class="alert alert-danger" t-if="error">
<t t-esc="error"/>
</p>
<p class="alert alert-success" t-if="message">
<t t-esc="message"/>
</p>
<input type="hidden" name="redirect" t-att-value="redirect"/>
<div class="clearfix oe_login_buttons">
<button type="submit" class="btn btn-primary">Log in</button>
</div>
</form>
</t>
</template>
<template id="web.menu">
<ul class="nav navbar-nav navbar-left oe_application_menu_placeholder" style="display: none;">
<li t-foreach="menu_data['children']" t-as="menu">
<t t-call="web.menu_link"/>
</li>
<li id="menu_more_container" class="dropdown" style="display: none;">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">More <b class="caret"></b></a>
<ul id="menu_more" class="dropdown-menu"></ul>
</li>
</ul>
<ul class="nav navbar-nav navbar-right oe_user_menu_placeholder" style="display: none;"/>
<ul class="nav navbar-nav navbar-right oe_systray" style="display: none;"/>
</template>
<template id="web.menu_secondary">
<a class="oe_logo" t-att-href="'/web/?debug' if debug else '/web'">
<span class="oe_logo_edit">Edit Company data</span>
<img src='/web/binary/company_logo'/>
</a>
<div class="oe_secondary_menus_container">
<t t-foreach="menu_data['children']" t-as="menu">
<div style="display: none" class="oe_secondary_menu" t-att-data-menu-parent="menu['id']">
<t t-foreach="menu['children']" t-as="menu">
<div class="oe_secondary_menu_section">
<t t-if="menu['children']"><t t-esc="menu['name']"/></t>
<t t-if="not menu['children']"><t t-call="web.menu_link"/></t>
</div>
<t t-call="web.menu_secondary_submenu"/>
</t>
</div>
</t>
</div>
<div class="oe_footer">
Powered by <a href="http://www.odoo.com" target="_blank"><span>Odoo</span></a>
</div>
</template>
<template id="web.menu_secondary_submenu">
<ul t-if="menu['children']" class="oe_secondary_submenu nav nav-pills nav-stacked">
<li t-foreach="menu['children']" t-as="menu">
<t t-call="web.menu_link"/>
<t t-call="web.menu_secondary_submenu"/>
</li>
</ul>
</template>
<template id="web.menu_link">
<t t-set="debug_param" t-value="'?&amp;debug=' if debug else ''"/>
<a t-att-href="'/web%s#menu_id=%s&amp;action=%s' % (debug_param, menu['id'], menu['action'] and menu['action'].split(',')[1] or '')"
t-att-class="'oe_menu_toggler' if menu.get('children') else 'oe_menu_leaf'"
t-att-data-menu="menu['id']"
t-att-data-action-model="menu['action'] and menu['action'].split(',')[0] or ''"
t-att-data-action-id="menu['action'] and menu['action'].split(',')[1] or ''">
<span class="oe_menu_text">
<t t-esc="menu['name']"/>
</span>
</a>
</template>
<template id="web.webclient_bootstrap" name="Webclient Bootstrap">
<t t-call="web.layout">
<t t-set="head">
<t t-call-assets="web.assets_common"/>
<script type="text/javascript">
odoo.define('web.csrf', function (require) {
var token = "<t t-esc="request.csrf_token(None)"/>";
require('web.core').csrf_token = token;
require('qweb').default_dict.csrf_token = token;
});
odoo.db_info = <t t-raw="db_info"/>;
</script>
<t t-call-assets="web.assets_backend"/>
&lt;!--[if lte IE 9]&gt; <link rel="stylesheet" href="/web/static/src/css/ie.css"/> &lt;![endif]--&gt;
<script type="text/javascript">
$(function() {
<t t-if="init">
<t t-raw="init"/>
</t>
<t t-if="not init">
odoo.define('web.web_client', function (require) {
var WebClient = require('web.WebClient');
var web_client = new WebClient();
web_client.setElement($(document.body));
web_client.start();
return web_client;
});
</t>
});
</script>
</t>
<nav id="oe_main_menu_navbar" class="navbar navbar-inverse" role="navigation" groups="base.group_user,base.group_portal">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
</div>
<div class="navbar-collapse collapse" id="oe_main_menu_placeholder">
<t t-call="web.menu"/>
</div>
</nav>
<div class="openerp openerp_webclient_container oe_webclient">
<div class="oe_leftbar" groups="base.group_user,base.group_portal">
<t t-call="web.menu_secondary"/>
</div><div class="oe_application"/>
<t t-call="web.menu_secondary_submenu"/>
</t>
</div>
</t>
</template>
</div>
<div class="oe_footer">
Powered by <a href="http://www.odoo.com" target="_blank"><span>Odoo</span></a>
</div>
</template>
<template id="web.menu_secondary_submenu">
<ul t-if="menu['children']" class="oe_secondary_submenu nav nav-pills nav-stacked">
<li t-foreach="menu['children']" t-as="menu">
<t t-call="web.menu_link"/>
<t t-call="web.menu_secondary_submenu"/>
</li>
</ul>
</template>
<template id="web.menu_link">
<t t-set="debug_param" t-value="'?&amp;debug=' if debug else ''"/>
<a t-att-href="'/web%s#menu_id=%s&amp;action=%s' % (debug_param, menu['id'], menu['action'] and menu['action'].split(',')[1] or '')"
t-att-class="'oe_menu_toggler' if menu.get('children') else 'oe_menu_leaf'"
t-att-data-menu="menu['id']"
t-att-data-action-model="menu['action'] and menu['action'].split(',')[0] or ''"
t-att-data-action-id="menu['action'] and menu['action'].split(',')[1] or ''">
<span class="oe_menu_text">
<t t-esc="menu['name']"/>
</span>
</a>
</template>
<template id="web.qunit_suite">
&lt;!DOCTYPE html&gt;
<html style="height: 100%">
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge"/>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>Odoo Web Tests</title>
<template id="web.webclient_bootstrap" name="Webclient Bootstrap">
<t t-call="web.layout">
<t t-set="head">
<t t-call-assets="web.assets_common" t-js="false"/>
<t t-call-assets="web.assets_backend" t-js="false"/>
<t t-call-assets="web.assets_common" t-css="false"/>
<script type="text/javascript">
odoo.define('web.csrf', function (require) {
var token = "<t t-esc="request.csrf_token(None)"/>";
require('web.core').csrf_token = token;
require('qweb').default_dict.csrf_token = token;
});
odoo.db_info = <t t-raw="db_info"/>;
</script>
<t t-call-assets="web.assets_backend" t-css="false"/>
<link rel="shortcut icon" href="/web/static/src/img/favicon.ico" type="image/x-icon"/>
<link rel="stylesheet" href="/web/static/lib/qunit/qunit-1.17.1.css"/>
<script src="/web/static/lib/qunit/qunit-1.17.1.js"></script>
<t t-call="web.assets_common"/>
<t t-call="web.assets_backend"/>
<script type="text/javascript">
$(function() {
<script type="text/javascript">
$(function() {
<t t-if="init">
<t t-raw="init"/>
</t>
<t t-if="not init">
odoo.define('web.web_client', function (require) {
var WebClient = require('web.WebClient');
var web_client = new WebClient();
@@ -365,35 +322,81 @@
web_client.start();
return web_client;
});
</t>
});
</script>
&lt;!--[if lte IE 9]&gt; <link rel="stylesheet" href="/web/static/src/css/ie.css"/> &lt;![endif]--&gt;
</t>
<nav id="oe_main_menu_navbar" class="navbar navbar-inverse" role="navigation" groups="base.group_user,base.group_portal">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
</div>
<div class="navbar-collapse collapse" id="oe_main_menu_placeholder">
<t t-call="web.menu"/>
</div>
</nav>
<div class="openerp openerp_webclient_container oe_webclient">
<div class="oe_leftbar" groups="base.group_user,base.group_portal">
<t t-call="web.menu_secondary"/>
</div><div class="oe_application"/>
</div>
</t>
</template>
<template id="web.qunit_suite">
&lt;!DOCTYPE html&gt;
<html style="height: 100%">
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge"/>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>Odoo Web Tests</title>
<link rel="shortcut icon" href="/web/static/src/img/favicon.ico" type="image/x-icon"/>
<link rel="stylesheet" href="/web/static/lib/qunit/qunit-1.17.1.css"/>
<script src="/web/static/lib/qunit/qunit-1.17.1.js"></script>
<t t-call="web.assets_common"/>
<t t-call="web.assets_backend"/>
<script type="text/javascript">
$(function() {
odoo.define('web.web_client', function (require) {
var WebClient = require('web.WebClient');
var web_client = new WebClient();
web_client.setElement($(document.body));
web_client.start();
return web_client;
});
</script>
});
</script>
<style>
body { overflow: auto !important; }
</style>
<script type="text/javascript" src="/web/static/test/testing.js"></script>
<style>
body { overflow: auto !important; }
</style>
<script type="text/javascript" src="/web/static/test/testing.js"></script>
<script type="text/javascript" src="/web/static/test/registry.js"></script>
<script type="text/javascript" src="/web/static/test/rpc-misordered.js"></script>
<script type="text/javascript" src="/web/static/test/mutex.js"></script>
<script type="text/javascript" src="/web/static/test/data.js"></script>
<script type="text/javascript" src="/web/static/test/evals.js"></script>
<script type="text/javascript" src="/web/static/test/form.js"></script>
<script type="text/javascript" src="/web/static/test/formats.js"></script>
<script type="text/javascript" src="/web/static/test/framework.js"></script>
<script type="text/javascript" src="/web/static/test/list.js"></script>
<script type="text/javascript" src="/web/static/test/list-utils.js"></script>
<script type="text/javascript" src="/web/static/test/list-editable.js"></script>
<script type="text/javascript" src="/web/static/test/search.js"></script>
</head>
<script type="text/javascript" src="/web/static/test/registry.js"></script>
<script type="text/javascript" src="/web/static/test/rpc-misordered.js"></script>
<script type="text/javascript" src="/web/static/test/mutex.js"></script>
<script type="text/javascript" src="/web/static/test/data.js"></script>
<script type="text/javascript" src="/web/static/test/evals.js"></script>
<script type="text/javascript" src="/web/static/test/form.js"></script>
<script type="text/javascript" src="/web/static/test/formats.js"></script>
<script type="text/javascript" src="/web/static/test/framework.js"></script>
<script type="text/javascript" src="/web/static/test/list.js"></script>
<script type="text/javascript" src="/web/static/test/list-utils.js"></script>
<script type="text/javascript" src="/web/static/test/list-editable.js"></script>
<script type="text/javascript" src="/web/static/test/search.js"></script>
</head>
<body id="oe" class="openerp">
<div id="qunit"></div>
<div id="qunit-fixture"></div>
</body>
</html>
</template>
</data>
</openerp>
<body id="oe" class="openerp">
<div id="qunit"></div>
<div id="qunit-fixture"></div>
</body>
</html>
</template>
</odoo>
+48 -43
View File
@@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<odoo>
<template id="summernote" name="Summernote">
<script type="text/javascript">
(function () {
@@ -50,57 +49,64 @@
delete odoo.__define__;
delete odoo.website_next_define;
</script>
<link rel="stylesheet" href="/web_editor/static/lib/summernote/src/less/summernote.less"/>
<!-- <link rel="stylesheet" href="/web_editor/static/lib/summernote/summernote.css"/> -->
<link rel="stylesheet" type="text/less" href="/web_editor/static/lib/summernote/src/less/summernote.less"/>
</template>
<template id="editor" name="Editor">
<!-- Call default mixins from WEB module -->
<link rel="stylesheet" href='/web/static/src/less/utils.less'/>
<!-- Web Editor style -->
<link rel='stylesheet' href='/web_editor/static/src/less/web_editor.variables.less'/>
<link rel="stylesheet" href='/web_editor/static/src/less/web_editor.interactions.less'/>
<link rel="stylesheet" href='/web_editor/static/src/less/web_editor.mixins.less'/>
<link rel="stylesheet" href='/web_editor/static/src/less/web_editor.backend.less'/>
<link rel="stylesheet" href='/web_editor/static/src/less/web_editor.components.less'/>
<link rel="stylesheet" href='/web_editor/static/src/less/web_editor.ui.less'/>
<script type="text/javascript" src='/web_editor/static/lib/nearest/jquery.nearest.js' />
<script type="text/javascript" src="/web_editor/static/src/js/editor.js" />
<script type="text/javascript" src="/web_editor/static/src/js/rte.js" />
<script type="text/javascript" src="/web_editor/static/src/js/rte.summernote.js" />
<script type="text/javascript" src="/web_editor/static/src/js/widgets.js" />
<script type="text/javascript" src="/web_editor/static/src/js/snippets.editor.js" />
<script type="text/javascript" src="/web_editor/static/src/js/snippets.options.js" />
<script type="text/javascript" src="/web_editor/static/src/js/tour.rte.js" />
<script type="text/javascript" src="/web_editor/static/src/js/transcoder.js"></script>
<script type="text/javascript" src="/web_editor/static/src/js/translator.js"></script>
<template id="less_helpers" inherit_id="web.less_helpers">
<xpath expr="." position="inside">
<link rel="stylesheet" type="text/less" href="/web_editor/static/src/less/web_editor.variables.less"/>
</xpath>
</template>
<template id="assets_common" inherit_id="web.assets_common" name="web_editor base assets_common">
<xpath expr="." position="inside">
<link rel="stylesheet" href='/web_editor/static/src/less/web_editor.common.less'/>
<link rel="stylesheet" href='/web_editor/static/src/less/web_editor.less'/>
<xpath expr="script[last()]" position="after">
<script type="text/javascript" src="/web_editor/static/src/js/base.js" />
<script type="text/javascript" src="/web_editor/static/src/js/snippets.animation.js" />
</xpath>
</template>
<template id="assets_editor" name="web_editor assets for editor">
<t t-call="web.assets_common"/>
<t t-call="web.bootstrap"/>
<script type="text/javascript" src="/web/static/lib/select2/select2.js"></script>
<t t-call="web_editor.summernote"/>
<t t-call="web_editor.editor"/>
<template id="assets_backend" inherit_id="web.assets_backend" name="web_editor assets for backend">
<xpath expr="link[last()]" position="after">
<link rel="stylesheet" type="text/less" href="/web_editor/static/src/less/web_editor.common.less"/> <!-- not in common because compiled diffently with context -->
<link rel="stylesheet" type="text/less" href="/web_editor/static/src/less/web_editor.backend.less"/>
</xpath>
<xpath expr="script[last()]" position="after">
<script type="text/javascript" src="/web_editor/static/src/js/backend.js" />
</xpath>
</template>
<template id="assets_backend" name="web_editor assets for backend" inherit_id="web.assets_backend">
<xpath expr="." position="inside">
<t t-call="web_editor.summernote"/>
<t t-call="web_editor.editor"/>
<link rel="stylesheet" href="/web_editor/static/src/less/web_editor.backend.less"/>
<script type="text/javascript" src="/web_editor/static/src/js/backend.js" />
<template id="assets_frontend" inherit_id="web.assets_frontend">
<xpath expr="//link[last()]" position="after">
<link rel="stylesheet" type="text/less" href="/web_editor/static/src/less/web_editor.common.less"/> <!-- not in common because compiled diffently with context -->
</xpath>
</template>
<template id="assets_editor" name="Full web_editor assets">
<t t-call="web.less_helpers"/>
<link rel="stylesheet" type="text/less" href="/web_editor/static/src/less/web_editor.ui.less"/>
<link rel="stylesheet" type="text/less" href="/web_editor/static/src/less/web_editor.ui.components.less"/>
<script type="text/javascript" src="/web_editor/static/lib/nearest/jquery.nearest.js"/>
<script type="text/javascript" src="/web_editor/static/src/js/editor.js"/>
<script type="text/javascript" src="/web_editor/static/src/js/rte.js"/>
<script type="text/javascript" src="/web_editor/static/src/js/rte.summernote.js"/>
<script type="text/javascript" src="/web_editor/static/src/js/widgets.js"/>
<script type="text/javascript" src="/web_editor/static/src/js/snippets.editor.js"/>
<script type="text/javascript" src="/web_editor/static/src/js/snippets.options.js"/>
<script type="text/javascript" src="/web_editor/static/src/js/tour.rte.js"/>
<script type="text/javascript" src="/web_editor/static/src/js/transcoder.js"></script>
<script type="text/javascript" src="/web_editor/static/src/js/translator.js"></script>
</template>
<template id="webclient_bootstrap" inherit_id="web.webclient_bootstrap">
<xpath expr="//t[@t-call-assets='web.assets_backend'][@t-js='false']" position="after">
<t t-call-assets="web_editor.summernote" t-js="false"/>
<t t-call-assets="web_editor.assets_editor" t-js="false"/>
</xpath>
<xpath expr="//t[@t-call-assets='web.assets_backend'][@t-css='false']" position="after">
<t t-call-assets="web_editor.summernote" t-css="false"/>
<t t-call-assets="web_editor.assets_editor" t-css="false"/>
</xpath>
</template>
@@ -134,5 +140,4 @@
</div>
</div>
</template>
</openerp>
</odoo>
+9 -10
View File
@@ -15,21 +15,20 @@
var snippets_url = '<t t-esc="snippets or ''"/>';
var callback = window.location.href.match(/callback=([^&amp;=]+)/)[1];
</script>
<link t-if="enable_editor and inline_mode" rel="stylesheet" href="/web_editor/static/src/css/web_editor.iframe.inline.css" type="text/css"/>
<t t-if="not dont_load_assets">
<t t-call-assets="web_editor.assets_editor"/>
<style>
.note-popover .popover { left: 5px !important; }
html[data-translatable] .note-popover .popover { left: 150px !important; }
</style>
<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/framework/session_instance.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 type="text/javascript">
var snippets_url = '<t t-esc="snippets or ''"/>';
var callback = window.location.href.match(/callback=([^&amp;=]+)/)[1];
</script>
<script>
if (window.top.odoo &amp;&amp; !window.top.odoo[callback+"_updown"]) {
window.top.odoo[callback+"_updown"] = function (value, fields_values) {
+1 -1
View File
@@ -317,7 +317,7 @@ class Website(openerp.addons.web.controllers.main.Home):
set_active(enable, True)
if get_bundle:
bundle = AssetsBundle('website.assets_frontend', cr=http.request.cr, uid=http.request.uid, context={}, registry=http.request.registry)
bundle = AssetsBundle('web.assets_frontend', cr=http.request.cr, uid=http.request.uid, context={}, registry=http.request.registry)
return bundle.to_html()
return True
+37 -79
View File
@@ -1,59 +1,33 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<odoo>
<!-- Assets -->
<template id="assets_common" inherit_id="web.assets_common" name="Website assets">
<xpath expr="." position="inside">
<template id="assets_backend" inherit_id="web.assets_backend" name="Website Backend Assets">
<xpath expr="//script[last()]" position="after">
<script type="text/javascript" src="/website/static/src/js/website.backend.js"></script>
<script type="text/javascript" src="/website/static/src/js/website.tour.rte.js"></script>
</xpath>
</template>
<template id="less_assets" name="Website Less Assets">
<link rel="stylesheet" href='/website/static/src/less/website.ui.mixins.less'/>
<link rel="stylesheet" href='/website/static/src/less/website.ui.variables.less'/>
<link rel="stylesheet" href='/website/static/src/less/website.ui.interactions.less'/>
<link rel="stylesheet" href='/website/static/src/less/website.ui.components.less'/>
<link rel="stylesheet" href='/website/static/src/less/website.ui.less'/>
<link rel="stylesheet" href='/website/static/src/less/website.snippets.less'/>
<link rel="stylesheet" href='/website/static/src/less/website.wrapwrap.less'/>
</template>
<template id="assets_frontend" name="Website assets">
<link id="bootstrap_css" rel="stylesheet" href='/website/static/src/less/import_bootstrap.less'/>
<link rel="stylesheet" href="/web/static/src/less/utils.less"/>
<link rel="stylesheet" href="/web/static/src/less/mimetypes.less"/>
<t id="assets_frontend_less" t-call="website.less_assets"/>
<script type="text/javascript" src="/web/static/src/js/framework/session_instance.js"></script>
<script type="text/javascript" src="/website/static/src/js/website.js"></script>
<script type="text/javascript" src="/website/static/src/js/website.share.js"></script>
<script type="text/javascript" src="/website/static/src/js/website.snippets.animation.js"></script>
<t t-call="web.bootstrap"/>
<link rel="stylesheet" href="/web/static/src/less/variables.less"/>
<link rel="stylesheet" href="/web/static/src/less/utils.less"/>
</template>
<template id="assets_backend" name="website assets for backend" inherit_id="web.assets_backend">
<xpath expr="." position="inside">
<script type="text/javascript" src="/website/static/src/js/website.backend.js"></script>
<template id="assets_frontend" inherit_id="web.assets_frontend" name="Website Frontend Assets">
<xpath expr="//link[last()]" position="after">
<link rel="stylesheet" type="text/less" href="/website/static/src/less/website.ui.less"/>
<link rel="stylesheet" type="text/less" href="/website/static/src/less/website.ui.components.less"/>
<link rel="stylesheet" type="text/less" href="/website/static/src/less/website.wrapwrap.less"/>
<link rel="stylesheet" type="text/less" href="/website/static/src/less/website.snippets.less"/>
</xpath>
<xpath expr="//script[last()]" position="after">
<script type="text/javascript" src="/website/static/src/js/website.js"></script>
<script type="text/javascript" src="/website/static/src/js/website.share.js"></script>
<script type="text/javascript" src="/website/static/src/js/website.snippets.animation.js"></script>
</xpath>
</template>
<template id="assets_editor" name="Editor assets">
<!-- Call default mixins from WEB module -->
<link rel="stylesheet" href='/web/static/src/less/utils.less'/>
<!-- Call mixins from frontend bundle -->
<link rel="stylesheet" href='/website/static/src/less/website.ui.mixins.less'/>
<template id="website.assets_editor" name="Website Editor Assets">
<t t-call="web.less_helpers"/>
<link rel='stylesheet' href='/web_editor/static/src/less/web_editor.common.less'/>
<link rel='stylesheet' href='/web_editor/static/src/less/web_editor.less'/>
<link rel="stylesheet" type="text/less" href="/website/static/src/less/website.edit_mode.less"/>
<link rel='stylesheet' href='/website/static/src/less/website.edit_mode.less'/>
<script type="text/javascript" src="/website/static/src/js/website.tour.rte.js"></script>
<script type="text/javascript" src="/website/static/src/js/website.editor.js"></script>
<script type="text/javascript" src="/website/static/lib/jQuery.transfo.js"></script>
@@ -77,7 +51,6 @@
</template>
<!-- Layout -->
<template id="submenu" name="Submenu">
<li t-if="not submenu.child_id" t-att-class="
'active' if submenu.url and submenu.url != '/' and request.httprequest.path == submenu.url.replace('/page/website.', '/page/') else None
@@ -121,9 +94,6 @@
<t t-if="not title">
<t t-set="title"><t t-if="additional_title"><t t-raw="additional_title"/> | </t><t t-esc="(website or res_company).name"/></t>
</t>
<t groups="base.group_website_designer">
<t t-set="load_editor" t-value="True"/>
</t>
<meta name="viewport" content="initial-scale=1"/>
<meta name="description" t-att-content="main_object and 'website_meta_description' in main_object
@@ -152,14 +122,17 @@
</t>
<t t-call-assets="web.assets_common" t-js="false"/>
<t t-call-assets="website.assets_frontend" t-js="false"/>
<t t-call-assets="web.assets_frontend" t-js="false"/>
<t t-call-assets="web_editor.summernote" t-js="false" groups="base.group_website_designer"/>
<t t-call-assets="web_editor.assets_editor" t-js="false" groups="base.group_website_designer"/>
<t t-call-assets="website.assets_editor" t-js="false" groups="base.group_website_publisher"/>
<t t-call-assets="web.assets_common" t-css="false"/>
<t t-if="load_editor">
<t t-call-assets="web_editor.summernote"/>
</t>
<t groups="base.group_website_designer" t-call-assets="web_editor.editor"/>
<t t-call-assets="website.assets_frontend" t-css="false"/>
<t groups="base.group_website_publisher" t-call-assets="website.assets_editor" async="True"/>
<t t-call-assets="web.assets_frontend" t-css="false"/>
<t t-call-assets="web_editor.summernote" t-css="false" groups="base.group_website_designer"/>
<t t-call-assets="web_editor.assets_editor" t-css="false" groups="base.group_website_designer"/>
<t t-call-assets="website.assets_editor" t-css="false" groups="base.group_website_publisher"/>
<script type="text/javascript">
odoo.define('web.csrf', function (require) {
var token = "<t t-esc="request.csrf_token(None)"/>";
@@ -249,9 +222,6 @@
</xpath>
</template>
<!--
Optional Bundle for PDFJS lib
Since PDFJS is quite huge (40000 lines), please only load it when it is necessary.
@@ -325,7 +295,6 @@
</template>
<!-- Features template -->
<template id="login_layout" inherit_id="web.login_layout" name="Website Login Layout">
<xpath expr="t" position="replace">
<t t-call="website.layout">
@@ -450,7 +419,6 @@
</template>
<!-- Util template -->
<template id="publish_management">
<div groups="base.group_website_publisher" t-ignore="true" class="pull-right css_editable_mode_hidden" t-att-style="style or ''">
<div t-attf-class="btn-group js_publish_management #{object.website_published and 'css_published' or 'css_unpublished'}" t-att-data-id="object.id" t-att-data-object="object._name" t-att-data-controller="publish_controller">
@@ -504,7 +472,7 @@
'data-disable' (optional) to unchecked one or more HTML ids, or list separate by comma
'data-reload="/"' (optional) force the reloading of the page if the url match with
the string ( = regexp).
Otherwise, only the '/web/content/website.assets_frontend' is reloaded
Otherwise, only the '/web/content/web.assets_frontend' is reloaded
For the sets (data-enable and/or data-disable without data-xmlid), the set is
automatically checked if:
@@ -519,7 +487,6 @@
- 'out': on the container 1 second before removed from ths DOM
- 'loading': on the container/modal when the new css is loading
-->
<template id="website.theme_customize" name="Theme Modal for Customization">
<div id="theme_customize_modal" class="modal fade">
<div class="modal-dialog">
@@ -584,19 +551,15 @@
</template>
<!-- Error and special pages -->
<template id="info" name="Odoo Information">
<t t-call="website.layout">
<div id="wrap">
</div>
<div id="wrap"/>
</t>
</template>
<template id="show_website_info" inherit_id="website.info" customize_show="True" name="Show Odoo Information">
<xpath expr="//div[@id='wrap']" position="inside">
<div class="oe_structure">
<section class="container">
<h1><t t-esc="res_company.name"/>
<small>Odoo Version <t t-raw="version.get('server_version')"/></small>
@@ -645,18 +608,14 @@
</t>
</dl>
</div>
</section>
</div>
</xpath>
</template>
<template id="default_page">
<t t-call="website.layout">
<div id="wrap" class="oe_structure oe_empty"></div>
<div id="wrap" class="oe_structure oe_empty"/>
</t>
</template>
@@ -679,7 +638,6 @@
<div class="oe_structure">
<h1 class="container mt32"><t t-esc="status_code"/>: <t t-esc="status_message"/></h1>
</div>
<t t-if="editable or request.debug">
<t t-call="website.http_error_debug"/>
</t>
@@ -800,8 +758,10 @@
<head>
<title t-esc="status_message">Internal Server Error</title>
<t t-set="debug" t-value="True"/>
<t t-call-assets="web.assets_common"/>
<t t-call-assets="website.assets_frontend"/>
<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.assets_common" t-css="false"/>
<t t-call-assets="web.assets_frontend" t-css="false"/>
<script>
$(document).ready(function() {
var button = $('#reset_templates_button');
@@ -929,7 +889,6 @@ Sitemap: <t t-esc="url_root"/>sitemap.xml
</template>
<!-- Actual pages -->
<template id="homepage" name="Homepage" page="True" priority="29">
<t t-call="website.layout">
<div id="wrap" class="oe_structure oe_empty"></div>
@@ -1030,5 +989,4 @@ Sitemap: <t t-esc="url_root"/>sitemap.xml
</span>
</div>
</template>
</data>
</openerp>
</odoo>
+11 -2
View File
@@ -37,10 +37,19 @@
</form>
</template>
<!-- website_forum.layout removes the access right check for summernote bundle -->
<template id="layout" inherit_id="website.layout" name="Forum Layout" primary="True">
<xpath expr="//t[@t-call-assets='web_editor.summernote'][@t-js='false']" position="attributes">
<attribute name="groups"/>
</xpath>
<xpath expr="//t[@t-call-assets='web_editor.summernote'][@t-css='false']" position="attributes">
<attribute name="groups"/>
</xpath>
</template>
<!-- Page Index -->
<template id="header" name="Forum Index">
<t t-set="load_editor" t-value="True"/>
<t t-call="website.layout">
<t t-call="website_forum.layout">
<div t-if="is_public_user and not forum_welcome_message" class="forum_intro">
<div t-field="forum.welcome_message"/>
</div>
@@ -1,15 +1,11 @@
<?xml version="1.0" ?>
<openerp>
<data>
<!-- Bundle (minimal) for embedded slide iframe -->
<template id="website_slides.slide_embed_assets" name="Website slides embed assets">
<link rel='stylesheet' href='/web/static/lib/fontawesome/css/font-awesome.css'/>
<link rel='stylesheet' href='/web/static/lib/bootstrap/css/bootstrap.css'/>
<link type="text/less" rel='stylesheet' href='/web/static/src/less/import_bootstrap.less'/>
<link type="text/less" href="/website_slides/static/src/less/website_slides.less" rel="stylesheet" t-ignore="true"/>
<script type="text/javascript" src="/web/static/lib/jquery/jquery.js"></script>
<t t-call="web.bootstrap"/>
<t t-call="website.pdf_js_lib"></t>
<script type="text/javascript" src="/website_slides/static/lib/pdfslidesviewer/PDFSlidesViewer.js"></script>
<script type="text/javascript" src="/website_slides/static/src/js/slides_embed.js"></script>
@@ -23,8 +19,10 @@
<html>
<head t-if="not private">
<title><t t-esc="slide.name"/></title>
<script type="text/javascript" src="/website_slides/static/lib/pdfslidesviewer/PDFSlidesViewer.js"></script>
<t t-call-assets="website_slides.slide_embed_assets"/>
<t t-call-assets="web.assets_common" t-js="false"/>
<t t-call-assets="website_slides.slide_embed_assets" t-js="false"/>
<t t-call-assets="web.assets_common" t-css="false"/>
<t t-call-assets="website_slides.slide_embed_assets" t-css="false"/>
</head>
<body t-if="private" style="position: inherit;">
<title><t t-esc="slide.name"/></title>