[MERGE] Forward-port saas-3 up to 7273474
[odoo/odoo.git] / addons / website / views / website_templates.xml
index 3dae521..eac1bdd 100644 (file)
@@ -8,7 +8,27 @@
 
 <template id="website.theme" name="Theme">
     <link id="bootstrap_css" rel='stylesheet' href='/web/static/lib/bootstrap/css/bootstrap.css' t-ignore="true"/>
-    <link id="website_css" rel='stylesheet' href='/website/static/src/css/website.css' t-ignore="true"/>
+    <link rel="stylesheet" href='/website/static/src/css/website.css' t-ignore="true"/>
+</template>
+
+<template id="website.assets_frontend" name="Website assets">
+    <t t-call="website.theme"/>
+
+    <script type="text/javascript" src="/web/static/src/js/watch.js"></script>
+
+    <script type="text/javascript" src="/website/static/src/js/website.js"></script>
+
+    <script type="text/javascript" src="/website/static/src/js/website.snippets.animation.js"></script>
+    <script type="text/javascript" src="/web/static/lib/bootstrap/js/bootstrap.js"></script>
+
+</template>
+
+<template id="assets_backend" name="website assets for backend" inherit_id="web.assets_backend">
+    <xpath expr="." position="inside">
+        <link rel="stylesheet" href="/website/static/src/css/website.backend.css"/>
+
+        <script type="text/javascript" src="/website/static/src/js/website.backend.js"></script>
+    </xpath>
 </template>
 
 <template id="website.submenu" name="Submenu">
@@ -45,7 +65,6 @@
           t-att-data-oe-company-name="res_company.name">
         <head>
             <meta charset="utf-8" />
-            <script type="text/javascript" src="/web/static/src/js/watch.js"></script>
             <t t-if="main_object and 'website_meta_title' in main_object">
                 <t t-set="title" t-value="main_object.website_meta_title"/>
             </t>
                 and main_object.website_meta_keywords or website_meta_keywords"/>
             <title><t t-esc="title"/></title>
 
-            <!-- Load stylesheets before scripts to avoid blocking -->
-            <link rel='stylesheet' href='/web/static/lib/fontawesome/css/font-awesome.css'/>
-
-            <t t-call="website.theme"/>
-
-            <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/jquery/jquery.js"></script>
-            <script type="text/javascript" src="/web/static/lib/jquery.form/jquery.form.js"></script>
-            <script type="text/javascript">
-                // Bootstrap and jQuery UI conflicts
-                $.fn.bstooltip = $.fn.tooltip;
-                $.fn.bsbutton = $.fn.button;
-            </script>
-
-            <script type="text/javascript" src="/web/static/lib/qweb/qweb2.js"></script>
-            <script type="text/javascript" src="/web/static/src/js/openerpframework.js"></script>
-
-            <script type="text/javascript" src="/website/static/src/js/website.js"></script>
+            <t t-set="languages" t-value="website.get_languages()"/>
+            <t t-if="request.website_multilang">
+                <t t-foreach="languages" t-as="lg">
+                    <t t-set="force_lang" t-value="lg[0] if lg[0] != website.default_lang_code else None"/>
+                    <link rel="alternate" t-att-href="url_for(request.httprequest.path + '?' + keep_query(), lang=force_lang)" t-att-hreflang="lg[0].replace('_', '-').lower()" />
+                </t>
+            </t>
 
-            <script t-if="not translatable" type="text/javascript" src="/website/static/src/js/website.snippets.animation.js"></script>
-            <script type="text/javascript" src="/web/static/lib/bootstrap/js/bootstrap.js"></script>
+            <t t-call-assets="web.assets_common"/>
+            <t t-call-assets="website.assets_frontend"/>
 
             <t t-raw="head or ''" name='layout_head'/>
+            <t t-if="website.google_analytics_key">
+                <script>
+                    (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+                    (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+                    m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+                    })(window,document,'script','//www.google-analytics.com/analytics.js','_gaw');
+
+                    _gaw('create',_.str.trim('<t t-esc="website.google_analytics_key"/>'));
+                    _gaw('send','pageview');
+                </script>
+            </t>
         </head>
         <body>
             <div id="wrapwrap">
                                         their performance.
                                     </p>
                                 </div>
-                                <t t-set="languages" t-value="website.get_languages()"/>
-                                <ul class="list-inline js_language_selector mt16" t-if="(len(languages) &gt; 1 or editable)">
+                                <ul class="list-inline js_language_selector mt16" t-if="(request.website_multilang and len(languages) &gt; 1) or editable">
                                     <li t-foreach="languages" t-as="lg">
-                                        <a t-att-href="url_for('', lang=lg[0]) + '?' + keep_query()"
+                                        <a t-att-href="url_for(request.httprequest.path + '?' + keep_query(), lang=lg[0])"
                                            t-att-data-default-lang="editable and 'true' if lg[0] == website.default_lang_code else None">
                                             <t t-esc="lg[1].split('/').pop()"/>
                                         </a>
                     </div>
                 </footer>
             </div>
-            <t t-if="website.google_analytics_key">
-                <script>
-                    (function(b,o,i,l,e,r){b.GoogleAnalyticsObject=l;b[l]||(b[l]=
-                    function(){(b[l].q=b[l].q||[]).push(arguments)});b[l].l=+new Date;
-                    e=o.createElement(i);r=o.getElementsByTagName(i)[0];
-                    e.src='//www.google-analytics.com/analytics.js';
-                    r.parentNode.insertBefore(e,r)}(window,document,'script','ga'));
-                    ga('create',_.str.trim('<t t-esc="website.google_analytics_key"/>'));
-                    ga('send','pageview');
-                </script>
-            </t>
         </body>
     </html>
 </template>
 
-<template id="layout_logo_show" inherit_id="website.layout" inherit_option_id="website.layout" name="Show Logo">
+<template id="layout_logo_show" inherit_id="website.layout" optional="enabled" name="Show Logo">
     <xpath expr="//header//a[@class='navbar-brand']" position="replace">
         <a href="/" class="navbar-brand logo">
             <img src="/logo.png"/>
     </xpath>
 </template>
 
-<template id="editor_head" inherit_id="website.layout" name="Editor" groups="base.group_website_publisher">
+<template id="editor_head" inherit_id="website.layout" name="Editor" groups="base.group_website_publisher,base.group_website_designer">
     <xpath expr="//body" position="attributes">
         <attribute name="style">padding-top: 51px;</attribute>
     </xpath>
             </div>
         </div>
     </xpath>
-    <xpath expr='//script[@src="/web/static/lib/bootstrap/js/bootstrap.js"]' position="before">
-        <link rel='stylesheet' href='/website/static/src/css/snippets.css'/>
-        <link rel='stylesheet' href='/website/static/src/css/editor.css'/>
-        <link rel='stylesheet' href='/website/static/lib/bootstrap-tour/bootstrap-tour.css'/>
+    <xpath expr='//t[@t-call-assets="website.assets_frontend"]' position="after">
+        <t t-call-assets="website.assets_editor"/>
+    </xpath>
+</template>
 
+<template id="assets_editor" name="Editor assets">
+    <script type="text/javascript">
+        var CKEDITOR_BASEPATH = '/web/static/lib/ckeditor/';
+    </script>
+    <link rel='stylesheet' href='/website/static/src/css/snippets.css'/>
+    <link rel='stylesheet' href='/website/static/src/css/editor.css'/>
 
-        <link rel="stylesheet" href="/web/static/lib/select2/select2.css"/>
-        <link rel="stylesheet" href="/website/static/lib/select2-bootstrap-css/select2-bootstrap.css"/>
-        <link rel='stylesheet' href="/web/static/lib/jquery.ui/css/smoothness/jquery-ui-1.9.1.custom.css"/>
+    <link rel='stylesheet' href="/web/static/lib/jquery.ui/css/smoothness/jquery-ui-1.9.1.custom.css"/>
 
-        <script type="text/javascript" src="/web/static/lib/select2/select2.js"></script>
-        <script type="text/javascript" src="/web/static/lib/ckeditor/ckeditor.js"></script>
-        <script t-if="not translatable" type="text/javascript" src="/website/static/lib/ace/ace.js"></script>
-        <script type="text/javascript" src="/website/static/lib/vkbeautify/vkbeautify.0.99.00.beta.js"></script>
+    <link rel="stylesheet" href="/web/static/lib/select2/select2.css"/>
+    <link rel="stylesheet" href="/website/static/lib/select2-bootstrap-css/select2-bootstrap.css"/>
+
+    <script type="text/javascript" src="/web/static/lib/select2/select2.js"></script>
+
+    <script type="text/javascript" src="/web/static/lib/ckeditor/ckeditor.js"></script>
+    <script type="text/javascript" src="/website/static/lib/ace/ace.js"></script>
+    <script type="text/javascript" src="/website/static/lib/ace/theme-monokai.js"></script>
+    <script type="text/javascript" src="/website/static/lib/ace/mode-xml.js"></script>
+    <script type="text/javascript" src="/website/static/lib/vkbeautify/vkbeautify.0.99.00.beta.js"></script>
+    <t t-call="web.jqueryui_conflict">
         <script type="text/javascript" src="/web/static/lib/jquery.ui/js/jquery-ui-1.9.1.custom.js"></script>
-        <script type="text/javascript" src="/website/static/lib/bootstrap-tour/bootstrap-tour.js"></script>
-        <!-- mutation observers shim backed by mutation events (8 < IE < 11, Safari < 6, FF < 14, Chrome < 17) -->
-        <script type="text/javascript" src="/website/static/lib//jquery.mjs.nestedSortable/jquery.mjs.nestedSortable.js"></script>
-        <script type="text/javascript" src="/website/static/lib/MutationObservers/test/sidetable.js"></script>
-        <script type="text/javascript" src='/website/static/lib/nearest/jquery.nearest.js'></script>
-        <script type="text/javascript" src="/website/static/lib/MutationObservers/MutationObserver.js"></script>
-
-        <script type="text/javascript" src="/website/static/lib/jquery.placeholder/jquery.placeholder.js"></script>
-
-        <script type="text/javascript" src="/website/static/src/js/website.editor.js"></script>
-        <script type="text/javascript" src="/website/static/src/js/website.editor.newpage.js" groups="base.group_website_designer"></script>
-        <script type="text/javascript" src="/website/static/src/js/website.menu.js" groups="base.group_website_designer"></script>
-        <script type="text/javascript" src="/website/static/src/js/website.mobile.js"></script>
-        <script type="text/javascript" src="/website/static/src/js/website.seo.js"></script>
-        <script type="text/javascript" id="website_tour_js" src="/website/static/src/js/website.tour.js"></script>
-        <script type="text/javascript" src="/website/static/src/js/website.tour.banner.js" groups="base.group_website_designer"></script>
-        <script t-if="not translatable" type="text/javascript" src="/website/static/src/js/website.snippets.editor.js"></script>
-        <script t-if="not translatable" type="text/javascript" src="/website/static/src/js/website.ace.js"></script>
-        <script t-if="translatable" type="text/javascript" src="/website/static/src/js/website.translator.js"></script>
-
-        <script type="text/javascript" src="/website/static/src/js/jQuery.transfo.js"></script>
-    </xpath>
+    </t>
+    <!-- mutation observers shim backed by mutation events (8 < IE < 11, Safari < 6, FF < 14, Chrome < 17) -->
+    <script type="text/javascript" src="/website/static/lib//jquery.mjs.nestedSortable/jquery.mjs.nestedSortable.js"></script>
+    <script type="text/javascript" src="/website/static/lib/MutationObservers/test/sidetable.js"></script>
+    <script type="text/javascript" src='/website/static/lib/nearest/jquery.nearest.js'></script>
+    <script type="text/javascript" src="/website/static/lib/MutationObservers/MutationObserver.js"></script>
+
+    <script type="text/javascript" src="/website/static/src/js/website.editor.js"></script>
+    <script type="text/javascript" src="/website/static/src/js/website.editor.newpage.js"></script> <!-- groups="base.group_website_designer" -->
+    <script type="text/javascript" src="/website/static/src/js/website.menu.js"></script> <!-- groups="base.group_website_designer" -->
+    <script type="text/javascript" src="/website/static/src/js/website.mobile.js"></script>
+    <script type="text/javascript" src="/website/static/src/js/website.seo.js"></script>
+    <script type="text/javascript" src="/website/static/src/js/website.tour.js"></script>
+    <script type="text/javascript" src="/website/static/src/js/website.tour.banner.js"></script> <!-- groups="base.group_website_designer" -->
+    <script type="text/javascript" src="/website/static/src/js/website.snippets.editor.js"></script>
+    <script type="text/javascript" src="/website/static/src/js/website.ace.js"></script>
+    <script type="text/javascript" src="/website/static/src/js/website.translator.js"></script>
+
+    <script type="text/javascript" src="/website/static/src/js/jQuery.transfo.js"></script>
 </template>
 
-<template id="debugger" inherit_option_id="website.layout" name="Debugger &amp; Tests">
+<template id="debugger" inherit_id="website.layout" optional="disabled" name="Debugger &amp; Tests">
     <xpath expr='//t[@name="layout_head"]' position="after">
         <t t-set="debugger_hook" t-value="1" />
     </xpath>
     </xpath>
 </template>
 
-<template id="show_sign_in" inherit_option_id="website.layout" inherit_id="website.layout" name="Show Sign In" groups="base.group_public">
+<template id="show_sign_in" optional="enabled" inherit_id="website.layout" name="Show Sign In" groups="base.group_public">
     <xpath expr="//ul[@id='top_menu']" position="inside">
         <li class="divider"/>
         <li>
     </xpath>
 </template>
 
-<template id="footer_custom" inherit_option_id="website.layout" name="Custom Footer">
+<template id="footer_custom" inherit_id="website.layout" optional="disabled" name="Custom Footer">
     <xpath expr="//div[@id='footer_container']" position="before">
         <div class="oe_structure">
             <section data-snippet-id='three-columns' class="mt16 mb16">