2018-01-16 06:58:15 +01:00
<?xml version="1.0" encoding="utf-8"?>
2018-01-16 11:34:37 +01:00
<flectra >
2018-01-16 06:58:15 +01:00
<!-- Assets -->
<template id= "assets_backend" inherit_id= "web.assets_backend" name= "Website Backend Assets (used in backend interface)" >
<xpath expr= "//link[last()]" position= "after" >
<link rel= "stylesheet" href= "/website/static/src/less/website.backendDashboard.less" />
</xpath>
<xpath expr= "//script[last()]" position= "after" >
<script type= "text/javascript" src= "/website/static/src/js/backend/button.js" />
<script type= "text/javascript" src= "/website/static/src/js/backend/dashboard.js" />
<script type= "text/javascript" src= "/website/static/src/js/tours/rte.js" />
</xpath>
</template>
<template id= "qunit_suite" inherit_id= "web.qunit_suite" >
<xpath expr= "//script[last()]" position= "after" >
<script type= "text/javascript" src= "/website/static/tests/website_tests.js" />
</xpath>
</template>
<template id= "assets_frontend" inherit_id= "web.assets_frontend" name= "Website Assets" >
<xpath expr= "//link[last()]" position= "after" >
<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.snippets.less" />
2018-01-16 11:34:37 +01:00
<link rel= "stylesheet" type= "text/less" href= "/website/static/src/less/website.zoomflectra.less" />
2018-01-16 06:58:15 +01:00
</xpath>
<xpath expr= "//script[last()]" position= "after" >
<script type= "text/javascript" src= "/website/static/src/js/utils.js" />
<script type= "text/javascript" src= "/website/static/src/js/website.js" />
<script type= "text/javascript" src= "/website/static/src/js/content/compatibility.js" />
<script type= "text/javascript" src= "/website/static/src/js/content/lazy_template_call.js" />
<script type= "text/javascript" src= "/website/static/src/js/content/snippets.animation.js" />
<script type= "text/javascript" src= "/website/static/src/js/content/website_root.js" />
2018-01-16 11:34:37 +01:00
<script type= "text/javascript" src= "/website/static/src/js/content/zoomflectra.js" />
2018-01-16 06:58:15 +01:00
<script type= "text/javascript" src= "/website/static/src/js/menu/navbar.js" />
</xpath>
</template>
<template id= "website.assets_editor" name= "Website Editor Assets (used in website editor)" >
<t t-call= "web.less_helpers" />
<link rel= "stylesheet" type= "text/less" href= "/website/static/src/less/website.edit_mode.less" />
<script type= "text/javascript" src= "/website/static/lib/jQuery.transfo.js" />
<script type= "text/javascript" src= "/website/static/src/js/editor/editor.js" />
<script type= "text/javascript" src= "/website/static/src/js/editor/rte.summernote.js" />
<script type= "text/javascript" src= "/website/static/src/js/editor/snippets.options.js" />
<script type= "text/javascript" src= "/website/static/src/js/menu/content.js" />
<script type= "text/javascript" src= "/website/static/src/js/menu/customize.js" />
<script type= "text/javascript" src= "/website/static/src/js/menu/edit.js" />
<script type= "text/javascript" src= "/website/static/src/js/menu/mobile_view.js" />
<script type= "text/javascript" src= "/website/static/src/js/menu/new_content.js" />
<script type= "text/javascript" src= "/website/static/src/js/menu/planner.js" />
<script type= "text/javascript" src= "/website/static/src/js/menu/seo.js" />
<script type= "text/javascript" src= "/website/static/src/js/menu/translate.js" />
<script type= "text/javascript" src= "/website/static/src/js/tours/banner.js" />
<script type= "text/javascript" src= "/website/static/src/js/tours/rte.js" />
<script type= "text/javascript" src= "/website/static/src/js/widgets/ace.js" />
<script type= "text/javascript" src= "/website/static/src/js/widgets/theme.js" />
</template>
<!-- Layout -->
<template id= "submenu" name= "Submenu" >
<li t-if= "submenu.is_visible and not submenu.child_id.filtered(lambda menu: menu.is_visible)" t-att-class= "
'active' if submenu.clean_url() and unslug_url(request.httprequest.path) == unslug_url(submenu.clean_url()) else None
">
<a t-att-href= "submenu.clean_url()" t-ignore= "true" t-att-target= "'_blank' if submenu.new_window else None" >
<span t-field= "submenu.name" />
</a>
</li>
2018-07-13 11:51:12 +02:00
<li t-if= "submenu.child_id.filtered(lambda menu: menu.is_visible)" t-attf-class= "dropdown # {
2018-01-16 06:58:15 +01:00
(submenu.clean_url() and submenu.clean_url() != '/' and any([request.httprequest.path == child.url for child in submenu.child_id if child.url]) or
(submenu.clean_url() and request.httprequest.path == submenu.clean_url())) and 'active'
}">
<a class= "dropdown-toggle" data-toggle= "dropdown" href= "#" >
<span t-field= "submenu.name" /> <span class= "caret" t-ignore= "true" > </span>
</a>
<ul class= "dropdown-menu" role= "menu" >
<t t-foreach= "submenu.child_id" t-as= "submenu" >
<t t-call= "website.submenu" />
</t>
</ul>
</li>
</template>
<template id= "layout" name= "Main layout" inherit_id= "portal.frontend_layout" >
<xpath expr= "//t[@t-set='head_website']" position= "before" >
<t t-set= "html_data" t-value= "{
'lang': lang and lang.replace('_', '-'),
'data-website-id': website.id if website else None,
'data-editable': '1' if editable else None,
'data-translatable': '1' if translatable else None,
'data-edit_translations': '1' if edit_translations else None,
'data-view-xmlid': xmlid if editable or translatable else None,
'data-main-object': repr(main_object) if editable or translatable else None,
'data-oe-company-name': res_company.name
}"/>
<t t-if= "not title" >
<t t-if= "not additional_title and main_object and 'name' in main_object" >
<t t-set= "additional_title" t-value= "main_object.name" />
</t>
<t t-if= "main_object and 'website_meta_title' in main_object and main_object.website_meta_title" >
<t t-set= "title" t-value= "main_object.website_meta_title" />
</t>
<t t-else= "" >
<t t-set= "title" > <t t-if= "additional_title" > <t t-raw= "additional_title" /> | </t> <t t-raw= "(website or res_company).name" /> </t>
</t>
</t>
<t t-set= "x_icon" t-value= "'/web/image/website/%s/favicon/' % website.id" />
</xpath>
<xpath expr= "//t[@t-set='head_website']" position= "replace" >
<t t-set= "head_website" >
2018-04-05 10:25:40 +02:00
<meta name= "generator" content= "Flectra" />
2018-01-16 06:58:15 +01:00
<meta t-if= "main_object a n d ' w e b s i t e _ i n d e x e d ' i n m a i n _ o b j e c t
and not main_object.website_indexed" name="robots" content="noindex"/>
2018-04-05 10:25:40 +02:00
<t t-set= "meta_description" t-value= "main_object a n d ' w e b s i t e _ m e t a _ d e s c r i p t i o n ' i n m a i n _ o b j e c t
2018-01-16 06:58:15 +01:00
and main_object.website_meta_description or website_meta_description"/>
2018-04-05 10:25:40 +02:00
<t t-set= "meta_keywords" t-value= "main_object a n d ' w e b s i t e _ m e t a _ k e y w o r d s ' i n m a i n _ o b j e c t
2018-01-16 06:58:15 +01:00
and main_object.website_meta_keywords or website_meta_keywords"/>
2018-04-05 10:25:40 +02:00
<meta t-if= "meta_description or editable" name= "description" t-att-content= "meta_description" />
<meta t-if= "meta_keywords or editable" name= "keywords" t-att-content= "meta_keywords" />
2018-01-16 06:58:15 +01:00
<!-- OpenGraph tags for Facebook sharing -->
<meta property= "og:title" t-att-content= "additional_title" />
<meta property= "og:site_name" t-att-content= "res_company.name" />
<t t-if= "main_object and 'plain_content' in main_object and main_object.plain_content" >
<t t-set= "og_description" t-value= "main_object.plain_content[0:500]" />
<meta property= "og:description" t-att-content= "og_description" />
<meta property= 'og:image' t-att-content= "request.httprequest.url_root+'logo.png'" />
<meta property= 'og:url' t-att-content= "request.httprequest.url_root+request.httprequest.path[1:end]" />
</t>
<t t-set= "languages" t-value= "website.get_languages() if website else None" />
<t t-if= "request and request.is_frontend_multilang and website" >
<t t-foreach= "website.get_alternate_languages(request.httprequest)" t-as= "lg" >
<link rel= "alternate" t-att-hreflang= "lg['hreflang']" t-att-href= "lg['href']" />
</t>
</t>
<script type= "text/javascript" >
<t groups= "website.group_website_publisher" >
2018-01-16 11:34:37 +01:00
flectra.snippetsURL = '/website/snippets';
2018-01-16 06:58:15 +01:00
</t>
2018-01-16 11:34:37 +01:00
flectra.session_info = {
2018-01-16 06:58:15 +01:00
is_superuser: <t t-esc= "json.dumps(request.env.user._is_superuser())" /> ,
is_system: <t t-esc= "json.dumps(request.env.user._is_system())" /> ,
is_frontend: true,
translationURL: '/website/translations',
is_website_user: <t t-esc= "json.dumps(request.env.user.id == request.website.user_id.id)" /> ,
user_id: <t t-esc= "json.dumps(request.env.user.id)" />
};
</script>
<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" groups= "website.group_website_publisher" />
<t t-call-assets= "web_editor.assets_editor" t-js= "false" groups= "website.group_website_publisher" />
<t t-call-assets= "website.assets_editor" t-js= "false" groups= "website.group_website_publisher" />
<t t-call-assets= "web.assets_common" t-css= "false" />
<t t-call-assets= "web.assets_frontend" t-css= "false" />
<t t-call-assets= "web_editor.summernote" t-css= "false" groups= "website.group_website_publisher" />
<t t-call-assets= "web_editor.assets_editor" t-css= "false" groups= "website.group_website_publisher" />
<t t-call-assets= "website.assets_editor" t-css= "false" groups= "website.group_website_publisher" />
</t>
</xpath>
<xpath expr= "//header//div[hasclass('navbar-header')]" position= "replace" >
<div class= "navbar-header" >
<button type= "button" class= "navbar-toggle" data-toggle= "collapse" data-target= ".navbar-top-collapse" >
<span class= "sr-only" > Toggle navigation</span>
<span class= "icon-bar" > </span>
<span class= "icon-bar" > </span>
<span class= "icon-bar" > </span>
</button>
<a class= "navbar-brand" href= "/" t-if= "website" t-field= "website.name" > My Website</a>
</div>
</xpath>
<xpath expr= "//header//ul[@id='top_menu']/li[hasclass('divider')]" position= "attributes" >
<attribute name= "t-if" > website.user_id != user_id</attribute>
</xpath>
<xpath expr= "//header//ul[@id='top_menu']/li[hasclass('dropdown')]" position= "attributes" >
<attribute name= "t-if" > website.user_id != user_id</attribute>
</xpath>
<xpath expr= "//header//ul[@id='top_menu']/li[hasclass('divider')]" position= "before" >
<t t-foreach= "website.menu_id.child_id" t-as= "submenu" >
<t t-call= "website.submenu" />
</t>
</xpath>
<xpath expr= "//div[@id='wrapwrap']" position= "after" >
<script id= 'tracking_code' t-if= "website and website.google_analytics_key and not editable" >
(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','ga');
ga('create', _.str.trim('<t t-esc= "website.google_analytics_key" /> '), 'auto');
ga('send','pageview');
</script>
</xpath>
</template>
2017-11-30 09:45:04 +01:00
<template id= "menu_snippets" name= "Menu View" >
<nav >
<div class= "container" >
2018-01-19 12:56:32 +01:00
<div class= "navbar-header" />
<ul id= "nav_menu" class= "nav navbar-nav navbar-right" >
<t t-foreach= "menu.child_id" t-as= "submenu" >
<t t-call= "website.recursive_menu_snippets" />
</t>
</ul>
2017-11-30 09:45:04 +01:00
</div>
</nav>
</template>
<template id= "recursive_menu_snippets" name= "Recursive Menu" >
<li t-if= "not submenu.child_id" >
<a t-att-href= "submenu.url" t-ignore= "true"
t-att-target="submenu.new_window or '_blank'">
<span t-esc= "submenu.name" />
</a>
</li>
<li t-if= "submenu.child_id" >
<a class= "dropdown-toggle" data-toggle= "dropdown" href= "#" >
<span t-esc= "submenu.name" />
<span class= "caret" t-ignore= "true" />
</a>
<ul class= "dropdown-menu" role= "menu" >
<t t-foreach= "submenu.child_id" t-as= "submenu" >
<t t-call= "website.submenus" />
</t>
</ul>
</li>
</template>
2018-01-16 06:58:15 +01:00
<template id= "layout_footer_copyright" inherit_id= "website.layout" name= "Footer Copyright" >
<xpath expr= "//footer" position= "inside" >
<div class= "container mt16 mb8" >
<div class= "pull-right" t-ignore= "true" t-if= "not editable" >
2018-10-15 11:59:04 +02:00
Create a <a target= "_blank" href= "http://www.flectrahq.com/page/website-builder" > free website</a> with
<a target= "_blank" class= "label label-danger"
href="http://www.flectrahq.com/page/website-builder">Flectra</a>
2018-01-16 06:58:15 +01:00
</div>
<div class= "pull-left text-muted" itemscope= "itemscope" itemtype= "http://schema.org/Organization" >
Copyright & copy; <span t-field= "res_company.name" itemprop= "name" > Company name</span>
</div>
</div>
</xpath>
</template>
<template id= "layout_logo_show" inherit_id= "website.layout" customize_show= "True" name= "Show Logo" >
<xpath expr= "//header//a[hasclass('navbar-brand')]" position= "replace" >
<a href= "/" class= "navbar-brand logo" >
<span t-field= "res_company.logo" t-options= "{'widget': 'image'}" t-att-alt= "'Logo of %s' % res_company.name" t-att-title= "res_company.name" />
</a>
</xpath>
</template>
<record id= "portal.portal_show_sign_in" model= "ir.ui.view" >
<field name= "customize_show" eval= "True" />
</record>
<!-- 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" >
<div class= "oe_website_login_container" t-raw= "0" />
</t>
</xpath>
</template>
<template id= "footer_custom" inherit_id= "website.layout" name= "Footer" >
<xpath expr= "//div[@id='footer']" position= "replace" >
<div class= "oe_structure" id= "footer" t-if= 'not no_footer' >
<section >
<div class= "container" >
<div class= "row" >
<div class= "col-md-4" >
<h4 class= "mt16" > Subtitle</h4>
<p >
<a href= "/" > Homepage</a>
</p>
</div>
<div class= "col-md-4" >
<h4 class= "mt16" > Subtitle 2</h4>
<p >
...
</p>
</div>
<div class= "col-md-4" >
<h4 class= "mt16" > Subtitle 3</h4>
<p >
...
</p>
</div>
</div>
</div>
</section>
</div>
</xpath>
</template>
2018-01-24 07:08:11 +01:00
<!-- @todo Flectra: Add language direction parameter for RTL/LTR feature! -->
2018-01-16 06:58:15 +01:00
<template id= "language_selector" >
<ul class= "list-inline js_language_selector mt16" t-if= "(request and request.is_frontend_multilang and len(languages) > 1) or (website and (editable or translatable))" >
<li t-foreach= "languages" t-as= "lg" >
<a
t-att-href="url_for(request.httprequest.path + '?' + keep_query(), lang=lg[0])"
t-att-data-default-lang="(editable or translatable) and 'true' if website and lg[0] == website.default_lang_code else None"
t-att-data-lang="lg[0]"
class="js_change_lang"
>
<t t-esc= "lg[1].split('/').pop()" />
</a>
</li>
<li groups= "website.group_website_publisher" >
<t t-set= "url_return" t-value= "url_for('', '[lang]') + '?' + keep_query()" />
<a t-attf-href= "/web#action=base.action_view_base_language_install&website_id=#{website.id if website else ''}&url_return=#{url_return}" >
<i class= "fa fa-plus-circle" />
Add a language...
</a>
</li>
</ul>
</template>
2018-01-24 07:08:11 +01:00
<!-- Language Flags Snippet -->
2018-01-17 10:04:27 +01:00
<template id= "language_flags" name= "Language Flags" >
<li
t-if="(request and request.is_frontend_multilang and len(languages) > 1) or (website and (editable or translatable))"
class="dropdown language_dropdown">
<a href= "#" class= "dropdown-toggle language_flag" data-toggle= "dropdown" >
<t t-foreach= "website.language_ids" t-as= "lg" >
<t t-if= "request.context.get('lang') == lg.code" >
2018-01-24 07:08:11 +01:00
<img t-att-src= "website.image_url(lg, 'image')" height= "18"
width="18" t-att-title="lg.name" />
2018-01-17 10:04:27 +01:00
</t>
</t>
<span class= "caret" > </span>
</a>
<ul class= "dropdown-menu" role= "menu" style= "min-width: 80px;" >
<li t-foreach= "website.language_ids" t-as= "lg" >
<a
t-att-href="url_for(request.httprequest.path + '?' + keep_query(), lang=lg.code)"
t-att-data-default-lang="(editable or translatable) and 'true' if website and lg.code == website.default_lang_code else None"
2018-01-24 07:08:11 +01:00
t-att-data-lang="lg.code" t-att-data-lang-dir="lg.direction" class="js_change_lang">
<img t-att-src= "website.image_url(lg, 'image')" height= "18" width= "18" t-att-title= "lg.code" />
<t t-esc= "lg.name" />
2018-01-17 10:04:27 +01:00
</a>
</li>
</ul>
</li>
</template>
2018-01-16 06:58:15 +01:00
<template id= "footer_default" inherit_id= "website.footer_custom" customize_show= "True" name= "Automatic Footer" >
<xpath expr= "//div[@id='footer']" position= "replace" >
<div id= "footer" class= "container hidden-print" t-if= 'not no_footer' >
<div class= "row" >
<div class= "col-md-4 col-lg-3" >
<h4 > Our Products & Services</h4>
<ul class= "list-unstyled" id= "products" >
<li > <a href= "/" > Home</a> </li>
</ul>
</div>
<div class= "col-md-4 col-lg-3" id= "info" >
<h4 > Connect with us</h4>
<ul class= "list-unstyled" >
<li > <a href= "/contactus" > Contact us</a> </li>
</ul>
<ul class= "list-unstyled" >
<li t-ignore= "true" > <i class= "fa fa-phone" > </i> <span t-field= "res_company.phone" > </span> </li>
<li t-ignore= "true" > <i class= "fa fa-envelope" > </i> <span t-field= "res_company.email" > </span> </li>
</ul>
<h2 >
<a t-att-href= "website.social_facebook" t-if= "website.social_facebook" > <i class= "fa fa-facebook-square" /> </a>
<a t-att-href= "website.social_twitter" t-if= "website.social_twitter" > <i class= "fa fa-twitter" /> </a>
<a t-att-href= "website.social_linkedin" t-if= "website.social_linkedin" > <i class= "fa fa-linkedin" /> </a>
<a t-att-href= "website.social_youtube" t-if= "website.social_youtube" > <i class= "fa fa-youtube-play" /> </a>
<a t-att-href= "website.social_googleplus" t-if= "website.social_googleplus" rel= "publisher" > <i class= "fa fa-google-plus-square" /> </a>
<a t-att-href= "website.social_github" t-if= "website.social_github" > <i class= "fa fa-github" /> </a>
</h2>
</div>
<div class= "col-md-4 col-lg-5 col-lg-offset-1" >
<h4 >
<span t-field= "res_company.name" />
<small > - <a href= "/aboutus" > About us</a> </small>
</h4>
<div >
<p >
We are a team of passionate people whose goal is to improve everyone's
life through disruptive products. We build great products to solve your
business problems.
</p>
<p >
Our products are designed for small to medium size companies willing to optimize
their performance.
</p>
</div>
<t t-call= "website.language_selector" />
</div>
</div>
</div>
</xpath>
</template>
<!-- Util template -->
<template id= "publish_management" >
<div groups= "website.group_website_publisher" t-ignore= "true" class= "pull-right css_editable_mode_hidden" t-att-style= "style or None" >
<div t-attf-class= "btn-group #{btn_class} 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" >
<button class= "btn btn-danger js_publish_btn" > Unpublished</button>
<button class= "btn btn-success js_publish_btn" > Published</button>
<button type= "button" t-attf-class= "btn btn-default dropdown-toggle" t-att-id= "'dopprod-%s' % object.id" data-toggle= "dropdown" >
<span class= "caret" > </span>
</button>
<ul class= "dropdown-menu" role= "menu" t-att-aria-labelledby= "'dopprod-%s' % object.id" >
<t t-raw= "0" />
<li t-if= "publish_edit" >
<a t-attf-href= "/web#return_label=Website&view_type=form&model=#{object._name}&id=#{object.id}&action=#{action}"
title='Edit in backend'>Edit</a>
</li>
</ul>
</div>
</div>
</template>
<template id= "publish_short" >
<t groups= "website.group_website_publisher" t-ignore= "true" >
<div t-attf-class= "pull-right 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" >
<button class= "btn btn-danger js_publish_btn" > Unpublished</button>
<button class= "btn btn-success js_publish_btn" > Published</button>
</div>
</t>
</template>
<template id= "pager" name= "Pager" inherit_id= "portal.pager" >
</template>
<!--
Customize Themes
Use INPUT type 'checkbox' or 'radio' or use OPTION in select box
'data-xmlid' (optional) xml id of the template to add if the input is checked.
You can set a list of xml id separate by comma (all template is enable or
disable in same time)
'data-enable' (optional) to checked one or more HTML ids, or list separate by comma
'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/web.assets_frontend' is reloaded
For the sets (data-enable and/or data-disable without data-xmlid), the set is
automatically checked if:
- all related fields are enabled for data-enable
- all related fields are disabled for data-disable
else unchecked
HTML apply classes:
- 'checked': on the parent label when input is checked
- 'in': on the container (e.g.: bootstrap modal) after added in DOM (removed together
out is added)
- '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" >
<div class= "modal-content" >
<div class= "modal-header text-center" >
<h4 class= "modal-title" > Please install a theme in order to customize your website.</h4>
</div>
</div>
</div>
</div>
</template>
<template id= "kanban" >
<t t-set= "step" > <t t-esc= "step or 0" /> </t>
<t t-set= "scope" > <t t-esc= "scope or 0" /> </t>
<t t-set= "orderby" > <t t-esc= "orderby or 'name'" /> </t>
<t t-raw= "website.kanban(model, domain, column, template, step=step, scope=scope, orderby=orderby)" />
</template>
<template id= "kanban_contain" >
<table class= "table js_kanban" >
<thead >
<tr >
<t t-set= "width" t-valuef= "{{ round(100.0 / (len(objects) if objects else 1), 2) }}%" />
<t t-foreach= "objects" t-as= "obj" >
<th t-att-width= "width" >
<div t-field= "obj['column_id'].name" class= "text-center" > </div>
</th>
</t>
</tr>
</thead>
<tbody >
<tr >
<t t-foreach= "objects" t-as= "obj" >
<td class= "js_kanban_col" t-att-data-template= "template"
t-att-data-domain="obj['domain']"
t-att-data-page_count="obj['page_count']"
t-att-data-model="obj['model']"
t-att-data-step="obj['step']"
t-att-data-orderby="obj['orderby']">
<t t-foreach= "obj['object_ids']" t-as= "object_id" >
<t t-call= "#{ template }" > </t>
</t>
<!-- pager -->
<div t-if= "1 != obj['page_end']" class= "pagination pagination-centered" >
<ul >
<li t-attf-class= "prev #{'active' if obj['page'] == 1 else '' }" >
<a t-att-href= " '%s,%s-%s' % (obj['kanban_url'], obj['column_id'].id, (obj['page'] > 1 and obj['page']-1 or 1)) " > Prev</a> </li>
<t t-foreach= "range(obj['page_start'], obj['page_end']+1)" t-as= "p" >
<li t-att-class= " 'active' if obj['page'] == p else None " >
<a t-att-href= " '%s,%s-%s' % (obj['kanban_url'], obj['column_id'].id, p)" t-esc= "p" > </a> </li>
</t>
<li t-attf-class= "next #{'active' if obj['page'] == obj['page_end'] else '' }" >
<a t-att-href= " '%s,%s-%s' % (obj['kanban_url'], obj['column_id'].id, (obj['page'] < obj['page_end'] and obj['page']+1 or obj['page_end']) )" > Next</a> </li>
</ul>
</div>
</td>
</t>
</tr>
</tbody>
</table>
</template>
<!-- Error and special pages -->
2018-01-16 11:34:37 +01:00
<template id= "website_info" name= "Flectra Information" >
2018-01-16 06:58:15 +01:00
<t t-call= "website.layout" >
<div id= "wrap" />
</t>
</template>
2018-01-16 11:34:37 +01:00
<template id= "show_website_info" inherit_id= "website.website_info" customize_show= "True" name= "Show Flectra Information" >
2018-01-16 06:58:15 +01:00
<xpath expr= "//div[@id='wrap']" position= "inside" >
<div class= "oe_structure" >
<section class= "container" >
<t t-if= "not version" >
<meta http-equiv= "refresh" content= "0;URL='/website/info'" />
</t>
<t t-if= "version" >
<h1 > <t t-esc= "res_company.name" />
2018-01-16 11:34:37 +01:00
<small > Flectra Version <t t-raw= "version.get('server_version')" /> </small>
2018-01-16 06:58:15 +01:00
</h1>
<p >
2018-10-15 11:59:04 +02:00
Information about the <t t-esc= "res_company.name" />
instance of Flectra, the <a target= "_blank" href= "https://www.flectrahq.com" > Open Source ERP</a> .
2018-01-16 06:58:15 +01:00
</p>
<div class= "alert alert-warning alert-dismissable mt16" groups= "website.group_website_publisher" >
<button type= "button" class= "close" data-dismiss= "alert" aria-hidden= "true" > & times;</button>
<p >
Note: To hide this page, uncheck it from the top Customize menu.
</p>
</div>
<h2 > Installed Applications</h2>
<dl class= "dl-horizontal" t-foreach= "apps" t-as= "app" >
<dt >
<a t-att-href= "app.website" t-if= "app.website" >
<t t-raw= "app.shortdesc" />
</a>
<span t-raw= "app.shortdesc" t-if= "not app.website" />
</dt>
<dd >
<span t-raw= "app.summary" />
</dd> <dd class= "text-muted" groups= 'base.group_no_one' >
Technical name: <span t-field= "app.name" /> , updated: <span t-field= "app.write_date" /> , author: <span t-field= "app.author" />
</dd>
</dl>
<div groups= 'base.group_no_one' >
<h2 > Installed Modules</h2>
<dl class= "dl-horizontal" >
<t t-foreach= "modules" t-as= "app" >
<dt >
<span t-raw= "app.shortdesc" />
</dt>
<dd t-if= "app.summary" >
<span t-raw= "app.summary" />
</dd> <dd >
Technical name: <span t-field= "app.name" /> ,
updated: <span t-field= "app.write_date" />
<t t-if= "app.author" >
, author: <span t-field= "app.author" />
</t>
</dd>
</t>
</dl>
</div>
</t>
</section>
</div>
</xpath>
</template>
<template id= "default_page" >
<t t-call= "website.layout" >
<div id= "wrap" class= "oe_structure oe_empty" />
</t>
</template>
<template id= "default_js" >
<script type= "text/javascript" >
if (0 > 1) {
let it_cant_be = false;
}
</script>
</template>
<template id= "default_xml" >
< ?xml version="1.0" encoding="utf-8"?>
</template>
<template id= "default_css" >
<style type= "text/css" >
div#wrap div > h1{
color: #875A7B;
}
</style>
</template>
<template id= "default_less" >
<style type= "text/less" >
div#wrap div > h1 {
2018-01-16 11:34:37 +01:00
color: @flectra-brand-primary;
2018-01-16 06:58:15 +01:00
}
</style>
</template>
<template id= "default_csv" >
1,2,3
</template>
<template id= "page_404" >
<t t-call= "website.404" >
<div class= "container" >
<div class= "well mt32" >
<p > This page does not exist, but you can create it as you are administrator of this site.</p>
<a class= "btn btn-primary js_disable_on_click" t-attf-href= "/website/add/#{ path }#{ from_template and '?template=%s' % from_template }" > Create Page</a>
</div>
<div class= "text-center text-muted" > Edit the content below this line to adapt the default "page not found" page.</div>
</div>
<hr />
</t>
</template>
<template id= "http_error" >
<t t-call= "website.layout" >
<div id= "wrap" >
<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>
</div>
</t>
</template>
<template id= "http_error_debug" >
<div class= "container panel-group mb32 mt32" id= "debug_infos" >
<div class= "panel panel-default" t-if= "exception" >
<div class= "panel-heading" >
<h4 class= "panel-title" >
<a data-toggle= "collapse" data-parent= "#debug_infos" href= "#error_main" >
Error
</a>
</h4>
</div>
<div id= "error_main" class= "panel-collapse collapse in" >
<div class= "panel-body" >
<p t-if= "website_controller" > The following error was raised in the website controller <code t-esc= "website_controller" /> </p>
<p >
<strong > Error message:</strong>
<pre t-esc= "exception" />
</p>
</div>
</div>
</div>
<div class= "panel panel-default" t-if= "qweb_exception" >
<div class= "panel-heading" >
<h4 class= "panel-title" >
<a data-toggle= "collapse" data-parent= "#adebug_infos" href= "#error_qweb" >
QWeb
</a>
</h4>
</div>
<div id= "error_qweb" class= "panel-collapse collapse" >
<div class= "panel-body" >
<p t-if= "exception.qweb.get('message')" >
<strong > Error message:</strong>
<pre t-esc= "exception.qweb.get('message')" />
</p>
<p >
The error occured while rendering the template <code t-esc= "qweb_exception.qweb.get('template')" />
<t t-if= "'expression' in qweb_exception.qweb" > and evaluating the following expression: <code t-esc= "qweb_exception.qweb['expression']" /> </t>
</p>
<t t-if= "'node' in qweb_exception.qweb" >
<pre id= "exception_node" t-esc= "qweb_exception.pretty_xml()" />
</t>
</div>
</div>
</div>
<div class= "panel panel-default" t-if= "traceback" >
<div class= "panel-heading" >
<h4 class= "panel-title" >
<a data-toggle= "collapse" data-parent= "#adebug_infos" href= "#error_traceback" >
Traceback
</a>
</h4>
</div>
<div id= "error_traceback" class= "panel-collapse collapse" >
<div class= "panel-body" >
<pre id= "exception_traceback" t-esc= "traceback" />
</div>
</div>
</div>
</div>
</template>
<template id= "403" >
<t t-call= "website.layout" >
<div id= "wrap" >
<div class= "container" >
<h1 class= "mt32" > 403: Forbidden</h1>
<p > The page you were looking for could not be authorized.</p>
<p > Maybe you were looking for one of these popular pages ?</p>
<ul >
<li > <a href= "/" > Homepage</a> </li>
<li > <a href= "/contactus" > Contact Us</a> </li>
</ul>
</div>
<t t-if= "editable or request.debug" >
<t t-call= "website.http_error_debug" />
</t>
</div>
</t>
</template>
<template id= "404" >
<t t-call= "website.layout" >
<div id= "wrap" >
<t t-raw= "0" />
<div class= "oe_structure oe_empty" >
<div class= "container" >
<h1 class= "mt32" > 404: Page not found!</h1>
<p >
The page you were looking for could not be found; it is possible you have
typed the address incorrectly, but it has most probably been removed due
to the recent website reorganisation.
</p>
<p > Maybe you were looking for one of these popular pages ?</p>
<ul >
<li > <a href= "/" > Homepage</a> </li>
<li > <a href= "/contactus" > Contact Us</a> </li>
</ul>
</div>
</div>
<t t-if= "request.debug" >
<t t-call= "website.http_error_debug" />
</t>
</div>
</t>
</template>
<template id= "500" >
<!-- This template should not use any variable except those provided by website.ir_http._handle_exception -->
<html >
<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-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');
button.click(function() {
var dialog = $('#reset_template_confirmation').modal('show');
var input = dialog.find('input[type="text"]').val('').focus();
var dialog_form = dialog.find('form');
dialog_form.submit(function() {
if (input.val() == dialog.find('.confirm_word').text()) {
dialog.modal('hide');
button.prop('disabled', true).text('Working...');
$('#reset_templates_form').trigger('submit');
} else {
input.val('').focus();
}
return false;
});
return false;
});
});
</script>
</head>
<body >
<div id= "reset_template_confirmation" class= "modal" tabindex= "-1" role= "dialog" aria-hidden= "true" t-ignore= "true" >
<div class= "modal-dialog" >
<form class= "form-horizontal" role= "form" >
<div class= "modal-content" >
<div class= "modal-header" >
<button type= "button" class= "close" data-dismiss= "modal" aria-hidden= "true" > × </button>
<h3 class= "modal-title" > Reset templates</h3>
</div>
<div class= "modal-body" >
<div class= "form-group mb0" >
<label for= "page-name" class= "col-sm-9" >
<p > The selected templates will be reset to their factory settings.</p>
<p > Type '<i class= "confirm_word" > yes</i> ' in the box below if you want to confirm.</p>
</label>
<div class= "col-sm-3 mt16" >
<input type= "text" class= "form-control" required= "required" placeholder= "yes" />
</div>
</div>
</div>
<div class= "modal-footer" >
<input type= "submit" value= "Confirm" class= "btn btn-primary" />
<button type= "button" class= "btn" data-dismiss= "modal" aria-hidden= "true" > Cancel</button>
</div>
</div>
</form>
</div>
</div>
<div id= "wrapwrap" >
<header >
<div class= "navbar navbar-default navbar-static-top" >
<div class= "container" >
<div class= "collapse navbar-collapse navbar-top-collapse" >
<ul class= "nav navbar-nav navbar-right" id= "top_menu" >
<li > <a href= "/" > Home</a> </li>
<li > <a href= "javascript: window.history.back()" > Back</a> </li>
</ul>
</div>
</div>
</div>
</header>
<main >
<div class= "oe_structure" >
<h1 class= "container mt32" > <t t-esc= "status_code" /> : <t t-esc= "status_message" /> </h1>
</div>
<div class= "container" t-if= "views" >
<div class= "alert alert-danger" t-if= "qweb_exception and editable" >
<h4 > Template fallback</h4>
<p > An error occured while rendering the template <code t-esc= "qweb_exception.qweb['template']" /> .</p>
<p > If this error is caused by a change of yours in the templates, you have the possibility to reset one or more templates to their <strong > factory settings</strong> .</p>
<form action= "/website/reset_templates" method= "post" id= "reset_templates_form" >
<input type= "hidden" name= "csrf_token" t-att-value= "request.csrf_token()" />
<ul class= "oe_template_fallback" >
<li t-foreach= "views" t-as= "view" >
<label >
<input type= "checkbox" name= "templates" t-att-value= "view.id" t-att-checked= "'checked' if view_first else None" />
<t t-esc= "view.name" />
</label>
</li>
</ul>
<input type= "hidden" name= "redirect" t-att-value= "request.httprequest.path" />
<button id= "reset_templates_button" > Reset selected templates</button>
</form>
</div>
</div>
<t t-if= "editable or request.debug" >
<t t-call= "website.http_error_debug" />
</t>
</main>
</div>
</body>
</html>
</template>
<template id= "robots" >
User-agent: *
Sitemap: <t t-esc= "url_root" /> sitemap.xml
</template>
<template id= "sitemap_locs" >
<url t-foreach= "locs" t-as= "page" >
<loc > <t t-esc= "url_root" /> <t t-esc= "page['loc']" /> </loc> <t t-if= "page.get('lastmod', False)" >
<lastmod t-esc= "page['lastmod']" /> </t> <t t-if= "page.get('priority', False)" >
<priority t-esc= "page['priority']" /> </t> <t t-if= "page.get('changefreq', False)" >
<changefreq t-esc= "page['changefreq']" /> </t>
</url>
</template>
<template id= "sitemap_xml" > < ?xml version="1.0" encoding="UTF-8"?>
<urlset t-attf-xmlns= "http://www.sitemaps.org/schemas/sitemap/0.9" >
<t t-raw= "content" />
</urlset>
</template>
<template id= "sitemap_index_xml" > < ?xml version="1.0" encoding="UTF-8"?>
<sitemapindex t-attf-xmlns= "http://www.sitemaps.org/schemas/sitemap/0.9" >
<sitemap t-translation= "off" t-foreach= "pages" t-as= "page" >
<loc > <t t-esc= "url_root" /> sitemap-<t t-esc= "page" /> .xml</loc>
</sitemap>
</sitemapindex>
</template>
<template id= "company_description" name= "Company Description" >
<address itemscope= "itemscope" itemtype= "http://schema.org/Organization" >
<!-- TODO widget contact must add itemprop attributes -->
<div t-field= "res_company.partner_id" t-options= '{
"widget": "contact",
"fields": ["name", "address", "phone", "mobile", "email"]}'/>
<t t-if= "not res_company.google_map_img()" >
<span class= "fa fa-map-marker fa-fw mt16" /> <a t-att-href= "res_company.google_map_link()" target= "_BLANK" > Google Maps</a>
</t>
</address>
<t t-if= "res_company.google_map_img()" >
<a t-att-href= "res_company.google_map_link()" target= "_BLANK" >
<img class= "thumbnail img-responsive" t-att-src= "res_company.google_map_img()" />
</a>
</t>
</template>
<template id= "website_search_box" name= "Website Searchbox" >
<div class= "input-group" >
2018-06-01 14:03:04 +02:00
<span class= "input-group-btn" >
<span class= "btn btn-default oe_search_clear_button hidden" > <i class= "fa fa-close" > </i> </span>
</span>
2018-01-16 06:58:15 +01:00
<div class= "oe_search" >
<input type= "text" name= "search" class= "search-query form-control oe_search_box" placeholder= "Search..." t-att-value= "search" />
</div>
<span class= "input-group-btn" >
<button type= "submit" class= "btn btn-default oe_search_button" > <i class= "fa fa-search" /> </button>
</span>
</div>
</template>
<template id= "index_management" >
<t groups= "website.group_website_publisher" t-ignore= "true" >
<div t-attf-class= "pull-right js_index_management #{object.website_indexed and 'css_published' or 'css_unpublished'}" t-att-data-id= "object.id" t-att-data-object= "object._name" >
<button class= "btn btn-danger js_index_btn" > Unindexed</button>
<button class= "btn btn-success js_index_btn" > Indexed</button>
</div>
</t>
</template>
<template id= "edit_website_pages" name= "Website Pages Management" >
<t t-call= "website.layout" >
<div id= "wrap" >
<div class= "container" id= "edit_website_pages" >
<form class= "mt8 pull-right" role= "search" t-attf-action= "/website/pages" method= "get" >
<t t-call= "website.website_search_box" />
</form>
<div t-if= "searchbar_sortings" class= "dropdown pull-right mt8 mr8" >
<button class= "btn btn-default" type= "button" data-toggle= "dropdown" >
<span class= "fa fa-sort fa-lg" />
<span class= 'hidden-xs hidden-sm hidden-md' t-esc= "searchbar_sortings[sortby].get('label', 'Newest')" />
<span class= "caret" > </span>
</button>
<ul class= "dropdown-menu" aria-labelledby= "portal_searchbar_sortby" >
<li t-foreach= "searchbar_sortings" t-as= "option" t-attf-class= "#{sortby == option and 'active'}" >
<a t-att-href= "request.httprequest.path + '?' + keep_query('*', sortby=option)" >
<span t-esc= "searchbar_sortings[option].get('label')" />
</a>
</li>
</ul>
</div>
<h3 class= "mt16" > Manage Your Pages</h3>
<t t-if= "not pages" >
<div t-if= "search" class= "alert alert-warning mt8" role= "alert" >
Your search '<t t-esc= "search" /> ' did not match any pages.
</div>
<div t-else= "" class= "alert alert-warning mt8" role= "alert" >
There are currently no pages for your website.
</div>
</t>
<div t-if= "pages" class= "table-responsive" >
<table class= "table table-hover o_my_status_table" >
<thead >
<tr class= "active" >
<th > Name</th>
<th > Url</th>
<th class= "col-md-1 text-center" > <i title= "Is the page included in the main menu?" class= "fa fa-thumb-tack" aria-hidden= "true" > </i> </th>
<th class= "col-md-1 text-center" > <i title= "Is the page published?" class= "fa fa-eye" aria-hidden= "true" > </i> </th>
<th class= "col-md-1 text-center" > <i title= "Is the page indexed by search engines?" class= "fa fa-globe" aria-hidden= "true" > </i> </th>
<th class= "col-sm-3 col-md-2" > </th>
</tr>
</thead>
<t t-foreach= "pages" t-as= "page" >
<tr >
<td > <i t-if= "page.is_homepage" class= "fa fa-home" > </i> <span style= "word-break: break-all;" t-esc= "page.name" /> </td>
<td > <a style= "word-break: break-all;" t-attf-href= "{{page.url}}" > <t t-esc= "page.url" /> </a> </td>
<td class= "text-center" > <i t-att-class= "'fa fa-check' if page.menu_ids else 'fa fa-times text-muted'" aria-hidden= "true" > </i> </td>
<t t-set= 'date_formatted' > <t t-options= '{"widget": "date"}' t-esc= "page.date_publish" /> </t>
<td class= "text-center" > <i t-att-title= "not page.is_visible and page.website_published and 'This page will be visible on ' + date_formatted" t-att-class= "'fa fa-check' if page.is_visible and page.website_published else 'fa fa-eye-slash' if not page.is_visible and page.website_published else 'fa fa-times text-muted'" aria-hidden= "true" > </i> </td>
<td class= "text-center" > <i t-att-class= "'fa fa-check' if page.website_indexed else 'fa fa-times text-muted'" aria-hidden= "true" > </i> </td>
<td class= "text-right" >
<a class= "mr4 fa fa-lg fa-cog js_page_properties" t-att-data-id= "page.id" href= "#" title= "Manage this page" > </a>
<a class= "mr4 fa fa-lg fa-pencil-square-o" t-attf-href= "/web#id=#{page.view_id.id}&view_type=form&model=ir.ui.view" title= "Edit code in backend" > </a>
<a class= "mr4 fa fa-lg fa-clone js_clone_page" t-att-data-id= "page.id" href= "#" title= "Clone this page" > </a>
<a class= "fa fa-lg fa-trash js_delete_page" t-att-data-id= "page.id" href= "#" title= "Delete this page" > </a>
</td>
</tr>
</t>
</table>
</div>
<div t-if= "pager" class= "o_portal_pager text-center" >
<t t-call= "website.pager" />
</div>
</div>
</div>
</t>
</template>
2018-01-16 11:34:37 +01:00
</flectra>