2a05530cde69c255ad90a069548f610d9593e031
[odoo/odoo.git] / addons / website / views / website_templates.xml
1 <?xml version="1.0" encoding="utf-8"?>
2 <!-- vim:fdn=3:
3 -->
4 <openerp>
5     <data>
6
7 <!-- Layout and generic templates -->
8
9 <template id="website.theme" name="Theme">
10     <link id="bootstrap_css" rel='stylesheet' href='/website/static/lib/bootstrap/css/bootstrap.css' t-ignore="true"/>
11     <link id="website_css" rel='stylesheet' href='/website/static/src/css/website.css' t-ignore="true"/>
12 </template>
13
14 <template id="website.submenu" name="Submenu">
15     <li t-if="not submenu.child_id">
16         <a t-att-href="url_for(submenu.url)" t-ignore="true" t-att-target="'blank' if submenu.new_window else None">
17             <span t-field="submenu.name"/>
18         </a>
19     </li>
20     <li t-if="submenu.child_id" class="dropdown">
21         <a class="dropdown-toggle" data-toggle="dropdown" href="#">
22             <span t-field="submenu.name"/> <span class="caret" t-ignore="true"></span>
23         </a>
24         <ul class="dropdown-menu" role="menu">
25             <t t-foreach="submenu.child_id" t-as="submenu">
26                 <t t-call="website.submenu"/>
27             </t>
28         </ul>
29     </li>
30 </template>
31
32 <template id="layout" name="Main layout">&lt;!DOCTYPE html&gt;
33     <html t-att-lang="lang and lang.replace('_', '-')"
34           t-att-data-website-id="website.id if editable else None"
35           t-att-data-editable="'1' if editable else None"
36           t-att-data-translatable="'1' if translatable else None"
37           t-att-data-view-xmlid="xmlid if editable else None"
38           t-att-data-main-object="repr(main_object) if editable else None">
39         <head>
40             <t t-if="main_object and 'website_meta_title' in main_object">
41                 <t t-set="title" t-value="main_object.website_meta_title"/>
42             </t>
43             <t t-if="not title and main_object and 'name' in main_object">
44                 <t t-set="additional_title" t-value="main_object.name"/>
45             </t>
46             <t t-if="not title">
47                 <t t-set="title"><t t-raw="res_company.name"/><t t-if="additional_title"> - <t t-raw="additional_title"/></t></t>
48             </t>
49             <title><t t-esc="title"/></title>
50             <meta name="openerp.company" t-att-value="res_company.name"/>
51             <meta name="description" t-att-value="main_object and 'website_meta_description' in main_object
52                 and main_object.website_meta_description or website_meta_description"/>
53             <meta name="keywords" t-att-value="main_object and 'website_meta_keywords' in main_object
54                 and main_object.website_meta_keywords or website_meta_keywords"/>
55
56             <!-- Load stylesheets before scripts to avoid blocking -->
57             <link rel='stylesheet' href='/web/static/lib/fontawesome/css/font-awesome.css'/>
58
59             <t t-call="website.theme"/>
60
61             <script type="text/javascript" src="/web/static/lib/es5-shim/es5-shim.min.js"></script>
62             <script type="text/javascript" src="/web/static/lib/underscore/underscore.js"></script>
63             <script type="text/javascript" src="/web/static/lib/underscore.string/lib/underscore.string.js"></script>
64             <script type="text/javascript" src="/web/static/lib/jquery/jquery.js"></script>
65             <script type="text/javascript" src="/website/static/lib/bootstrap/js/bootstrap.js"></script>
66             <script type="text/javascript">
67                 // Bootstrap and jQuery UI conflicts
68                 $.fn.bstooltip = $.fn.tooltip;
69                 $.fn.bsbutton = $.fn.button;
70             </script>
71
72             <script type="text/javascript" src="/web/static/lib/qweb/qweb2.js"></script>
73             <script type="text/javascript" src="/web/static/src/js/openerpframework.js"></script>
74
75             <script type="text/javascript" src="/website/static/src/js/website.js"></script>
76             <script t-if="not translatable" type="text/javascript" src="/website/static/src/js/website.snippets.animation.js"></script>
77
78             <t t-raw="head or ''" name='layout_head'/>
79         </head>
80         <body>
81             <div id="wrapwrap">
82                 <header>
83                     <div class="navbar navbar-default navbar-static-top">
84                         <div class="container">
85                             <div class="navbar-header">
86                                 <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-top-collapse">
87                                     <span class="sr-only">Toggle navigation</span>
88                                     <span class="icon-bar"></span>
89                                     <span class="icon-bar"></span>
90                                     <span class="icon-bar"></span>
91                                 </button>
92                                 <a class="navbar-brand" href="/" t-field="res_company.name"/>
93                             </div>
94                             <div class="collapse navbar-collapse navbar-top-collapse">
95                                 <ul class="nav navbar-nav navbar-right" id="top_menu">
96                                     <t t-foreach="website.menu_id.child_id" t-as="submenu">
97                                         <t t-call="website.submenu"/>
98                                     </t>
99                                     <li class="divider" groups="base.group_user,base.group_portal"/>
100                                     <li class="dropdown" t-ignore="true" groups="base.group_user,base.group_portal">
101                                         <a href="#" class="dropdown-toggle" data-toggle="dropdown">
102                                             <b>
103                                                 <span t-esc="user_id.name"/>
104                                                 <span class="caret"></span>
105                                             </b>
106                                         </a>
107                                         <ul class="dropdown-menu js_usermenu" role="menu">
108                                             <li><a href="/web" role="menuitem">Administration</a></li>
109                                             <li class="divider"/>
110                                             <li><a t-attf-href="/web/session/logout?redirect=#{ quote_plus(url_for('', keep_query='*')) }" role="menuitem">Logout</a></li>
111                                         </ul>
112                                     </li>
113                                 </ul>
114                             </div>
115                         </div>
116                     </div>
117                 </header>
118                 <main>
119                     <t t-raw="0"/>
120                 </main>
121                 <footer>
122                     <div class="container hidden-print" id="footer_container">
123                         <div class="row">
124                             <div class="col-md-3" name="product">
125                                 <h4>Our products &amp; Services</h4>
126                                 <ul class="list-unstyled" name="products">
127                                     <li><a href="/">Home</a></li>
128                                 </ul>
129                             </div>
130                             <div class="col-md-3" name="info">
131                                 <h4 name="info_title">Connect with us</h4>
132                                 <ul class="list-unstyled">
133                                     <li><a href="/page/website.contactus">Contact us</a></li>
134                                 </ul>
135                                 <ul class="list-unstyled">
136                                     <li><i class="fa fa-phone"></i> <span t-field="res_company.phone"></span></li>
137                                     <li><i class="fa fa-envelope"></i>  <span t-field="res_company.email"></span></li>
138                                 </ul>
139                                 <h2>
140                                     <a t-att-href="website.social_facebook" t-if="website.social_facebook"><i class="fa fa-facebook-square"/></a>
141                                     <a t-att-href="website.social_twitter" t-if="website.social_twitter"><i class="fa fa-twitter"/></a>
142                                     <a t-att-href="website.social_linkedin" t-if="website.social_linkedin"><i class="fa fa-linkedin"/></a>
143                                     <a t-att-href="website.social_youtube" t-if="website.social_youtube"><i class="fa fa-youtube-play"/></a>
144                                     <a t-att-href="website.social_googleplus" t-if="website.social_googleplus"><i class="fa fa-google-plus-square"/></a>
145                                     <a t-att-href="website.social_github" t-if="website.social_github"><i class="fa fa-github"/></a>
146                                 </h2>
147                             </div>
148                             <div class="col-md-5 col-lg-offset-1" name="about_us">
149                                 <div>
150                                     <h4>
151                                         <span t-field="res_company.name">Your Company</span>
152                                         <small> - <a href="/page/website.aboutus">About us</a></small>
153                                     </h4>
154                                     <p>
155                                         We are a team of passionate people whose goal is to improve everyone's
156                                         life through disruptive products. We build great products to solve your
157                                         business problems.
158                                     </p>
159                                     <p>
160                                         Our products are designed for small to medium size companies willing to optimize
161                                         their performance.
162                                     </p>
163                                 </div>
164                                 <t t-set="languages" t-value="website.get_languages()"/>
165                                 <ul class="list-inline js_language_selector mt16" t-if="(len(languages) &gt; 1 or editable)">
166                                     <li t-foreach="languages" t-as="lg">
167                                         <a t-att-href="url_for('', lang=lg[0], keep_query='*')"
168                                            t-att-data-default-lang="editable and 'true' if lg[0] == website.default_lang_code else None">
169                                             <t t-esc="lg[1].split('/').pop()"/>
170                                         </a>
171                                     </li>
172                                     <li groups="base.group_website_publisher">
173                                         <t t-set="url_return" t-value="url_for(request.httprequest.path, '[lang]', keep_query='*')"/>
174                                         <a t-attf-href="/web#action=base.action_view_base_language_install&amp;website_id=#{website.id}&amp;url_return=#{url_return}">
175                                             <i class="fa fa-plus-circle"/>
176                                             Add a language...
177                                         </a>
178                                     </li>
179                                 </ul>
180                             </div>
181                         </div>
182                     </div>
183                     <div class="container mt16 mb8">
184                         <div class="pull-right" t-ignore="true" t-if="not editable">
185                             Create a <a href="http://openerp.com/apps/website">free website</a> with
186                             <a class="label label-danger" href="https://openerp.com/apps/website">OpenERP</a>
187                         </div>
188                         <div class="pull-left text-muted">
189                             Copyright &amp;copy; <span t-field="res_company.name">Company name</span>
190                         </div>
191                     </div>
192                 </footer>
193             </div>
194         </body>
195     </html>
196 </template>
197
198 <template id="layout_logo_show" inherit_option_id="website.layout" name="Show Logo">
199     <xpath expr="//header//a[@class='navbar-brand']" position="replace">
200         <a href="/" class="navbar-brand logo">
201             <img src="/website/static/src/img/odoo_logo.png"/>
202         </a>
203     </xpath>
204 </template>
205
206 <template id="editor_head" inherit_id="website.layout" name="Editor" groups="base.group_website_publisher">
207     <xpath expr='//t[@name="layout_head"]' position="before">
208         <link rel='stylesheet' href='/website/static/src/css/snippets.css'/>
209         <link rel='stylesheet' href='/website/static/src/css/editor.css'/>
210         <link rel='stylesheet' href='/website/static/lib/bootstrap-tour/bootstrap-tour.css'/>
211
212
213         <link rel="stylesheet" href="/select2/static/lib/select2/select2.css"/>
214         <link rel="stylesheet" href="/website/static/lib/select2-bootstrap-css/select2-bootstrap.css"/>
215         <link rel='stylesheet' href="/web/static/lib/jquery.ui/css/smoothness/jquery-ui-1.9.1.custom.css"/>
216
217         <script type="text/javascript" src="/select2/static/lib/select2/select2.js"></script>
218         <script type="text/javascript" src="/web/static/lib/ckeditor/ckeditor.js"></script>
219         <script type="text/javascript" src="/website/static/lib/bootstrap-tour/bootstrap-tour.js"></script>
220         <script t-if="not translatable" type="text/javascript" src="/website/static/lib/ace/ace.js"></script>
221         <script type="text/javascript" src="/website/static/lib/vkbeautify/vkbeautify.0.99.00.beta.js"></script>
222         <script type="text/javascript" src="/web/static/lib/jquery.ui/js/jquery-ui-1.9.1.custom.js"></script>
223         <!-- mutation observers shim backed by mutation events (8 < IE < 11, Safari < 6, FF < 14, Chrome < 17) -->
224         <script type="text/javascript" src="/website/static/lib//jquery.mjs.nestedSortable/jquery.mjs.nestedSortable.js"></script>
225         <script type="text/javascript" src="/website/static/lib/MutationObservers/test/sidetable.js"></script>
226         <script type="text/javascript" src='/website/static/lib/nearest/jquery.nearest.js'></script>
227         <script type="text/javascript" src="/website/static/lib/MutationObservers/MutationObserver.js"></script>
228
229         <script type="text/javascript" src="/website/static/src/js/website.editor.js"></script>
230         <script type="text/javascript" src="/website/static/src/js/website.editor.newpage.js" groups="base.group_website_designer"></script>
231         <script type="text/javascript" src="/website/static/src/js/website.menu.js" groups="base.group_website_designer"></script>
232         <script type="text/javascript" src="/website/static/src/js/website.mobile.js"></script>
233         <script type="text/javascript" src="/website/static/src/js/website.seo.js"></script>
234         <script type="text/javascript" id="website_tour_js" src="/website/static/src/js/website.tour.js"></script>
235         <script type="text/javascript" src="/website/static/src/js/website.tour.banner.js" groups="base.group_website_designer"></script>
236         <script t-if="not translatable" type="text/javascript" src="/website/static/src/js/website.snippets.editor.js"></script>
237         <script t-if="not translatable" type="text/javascript" src="/website/static/src/js/website.ace.js"></script>
238         <script t-if="translatable" type="text/javascript" src="/website/static/src/js/website.translator.js"></script>
239     </xpath>
240 </template>
241
242 <template id="show_sign_in" inherit_option_id="website.layout" inherit_id="website.layout" name="Show Sign In" groups="base.group_public">
243     <xpath expr="//ul[@id='top_menu']" position="inside">
244         <li class="divider"/>
245         <li>
246             <a t-attf-href="/web#redirect=#{ quote_plus(url_for('', keep_query='*')) }">
247                 <b>Sign in</b>
248             </a>
249         </li>
250     </xpath>
251 </template>
252
253 <template id="footer_custom" inherit_option_id="website.layout" name="Custom Footer">
254     <xpath expr="//div[@id='footer_container']" position="before">
255         <div class="oe_structure">
256             <section data-snippet-id='three-columns' class="mt16 mb16">
257                 <div class="container">
258                     <div class="row">
259                         <div class="col-md-4">
260                             <h4 class="mt16">Subtitle</h4>
261                             <p>
262                                 <a href="/">Homepage</a>
263                             </p>
264                         </div>
265                         <div class="col-md-4">
266                             <h4 class="mt16">Subtitle 2</h4>
267                             <p>
268                                 ...
269                             </p>
270                         </div>
271                         <div class="col-md-4">
272                             <h4 class="mt16">Subtitle 3</h4>
273                             <p>
274                                 ...
275                             </p>
276                         </div>
277                     </div>
278                 </div>
279             </section>
280         </div>
281     </xpath>
282     <xpath expr="//div[@id='footer_container']" position="attributes">
283         <attribute name="style">display: none</attribute>
284     </xpath>
285 </template>
286
287 <template id="publish_management">
288     <div groups="base.group_website_publisher" t-ignore="true" class="pull-right css_editable_mode_hidden" t-att-style="style or ''">
289         <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">
290             <button class="btn btn-danger js_publish_btn">Not Published</button>
291             <button class="btn btn-success js_publish_btn">Published</button>
292             <button type="button" t-attf-class="btn btn-default dropdown-toggle" t-att-id="'dopprod-%s' % object.id" data-toggle="dropdown">
293                 <span class="caret"></span>
294             </button>
295             <ul class="dropdown-menu" role="menu" t-att-aria-labelledby="'dopprod-%s' % object.id">
296                 <li>
297                     <a href="#" class="js_publish_btn">
298                         <span class="css_unpublish">Unpublish</span>
299                         <span class="css_publish">Publish</span>
300                     </a>
301                 </li>
302                 <t t-raw="0"/>
303                 <li t-if="publish_edit">
304                     <a t-att-href="'/web#return_label=Website&amp;model=%s&amp;id=%s' % (object._name, object.id)"
305                     title='Edit in backend'>Edit</a>
306                 </li>
307             </ul>
308         </div>
309     </div>
310 </template>
311
312 <template id="publish_short">
313     <t groups="base.group_website_publisher" t-ignore="true">
314         <div t-attf-class="btn-group 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">
315             <button t-attf-class="btn btn-sm btn-#{object.website_published and 'success' or 'danger'} js_publish_btn">
316                 <span class="css_publish">Not Published</span>
317                 <span class="css_unpublish">Published</span>
318             </button>
319         </div>
320     </t>
321 </template>
322
323 <template id="pager" name="Pager">
324     <ul t-if="pager['page_count'] > 1" t-attf-class="#{ classname or '' } pagination" t-att-style="style or ''">
325         <li t-att-class=" 'disabled' if pager['page']['num'] == 1 else '' ">
326             <a t-att-href=" pager['page_previous']['url'] if pager['page']['num'] != 1 else '' ">Prev</a>
327         </li>
328         <t t-foreach="pager['pages']" t-as="page">
329             <li t-att-class=" 'active' if page['num'] == pager['page']['num'] else '' "> <a t-att-href="page['url']" t-raw="page['num']"></a></li>
330         </t>
331         <li t-att-class=" 'disabled' if pager['page']['num'] == pager['page_count'] else '' ">
332             <a t-att-href=" pager['page_next']['url'] if pager['page']['num'] != pager['page_count'] else '' ">Next</a>
333         </li>
334     </ul>
335 </template>
336
337 <template id="kanban">
338     <t t-set="step"><t t-esc="step or 0"/></t>
339     <t t-set="scope"><t t-esc="scope or 0"/></t>
340     <t t-set="orderby"><t t-esc="orderby or 'name'"/></t>
341     <t t-raw="website.kanban(model, domain, column, template, step=step, scope=scope, orderby=orderby)"/>
342 </template>
343
344 <template id="kanban_contain">
345     <table class="table js_kanban">
346         <thead>
347             <tr>
348                 <t t-set="width" t-value="str(round(100.0 / len(objects), 2)) + '%'"/>
349                 <t t-foreach="objects">
350                     <th t-att-width="width">
351                         <div t-field="column_id.name" class="text-center"></div>
352                     </th>
353                 </t>
354             </tr>
355         </thead>
356         <tbody>
357             <tr>
358                 <t t-foreach="objects">
359                     <td class="js_kanban_col" t-att-data-template="template" t-att-data-domain="domain" t-att-data-page_count="page_count" t-att-data-model="model" t-att-data-step="step" t-att-data-orderby="orderby">
360                         <t t-foreach="object_ids" t-as="object_id">
361                             <t t-call="#{ template }"></t>
362                         </t>
363                         <!-- pager -->
364                         <div t-if="1 != page_end" class="pagination pagination-centered">
365                             <ul>
366                                 <li t-attf-class="prev #{'active' if page == 1 else '' }"> <a t-att-href=" '%s,%s-%s' % (kanban_url, column_id.id, (page &gt; 1 and page-1 or 1)) ">Prev</a></li>
367                                 <t t-foreach="range(page_start, page_end+1)" t-as="p">
368                                     <li t-att-class=" 'active' if page == p else '' "> <a t-att-href=" '%s,%s-%s' % (kanban_url, column_id.id, p)" t-esc="p"></a></li>
369                                 </t>
370                                 <li t-attf-class="next #{'active' if page == page_end else '' }"> <a t-att-href=" '%s,%s-%s' % (kanban_url, column_id.id, (page &lt; page_end and page+1 or page_end) )">Next</a></li>
371                             </ul>
372                         </div>
373                     </td>
374                 </t>
375             </tr>
376         </tbody>
377     </table>
378 </template>
379
380 <!-- Error and special pages -->
381
382 <template id="default_page">
383     <t t-call="website.layout">
384       <div id="wrap" class="oe_structure oe_empty"></div>
385     </t>
386 </template>
387
388 <template id="page_404">
389     <t t-call="website.404">
390         <div class="container">
391             <div class="well mt32">
392                 <p>This page does not exists, but you can create it as you are administrator of this site.</p>
393                 <a class="btn btn-primary" t-attf-href="/pagenew/#{ path }">Create Page</a>
394                 <span class="text-muted">or</span> <a href="/sitemap">Search a Page</a>
395             </div>
396             <div class="text-center text-muted">Edit the content below this line to adapt the default "page not found" page.</div>
397         </div>
398         <hr/>
399     </t>
400 </template>
401
402 <template id="http_error">
403     <t t-call="website.layout">
404         <div id="wrap">
405             <div class="oe_structure">
406                 <h1 class="container mt32"><t t-esc="status_code"/>: <t t-esc="status_message"/></h1>
407             </div>
408
409             <t t-if="editable or request.debug">
410                 <t t-call="website.http_error_debug"/>
411             </t>
412         </div>
413     </t>
414 </template>
415
416 <template id="http_error_debug">
417     <div class="container panel-group mb32 mt32" id="debug_infos">
418         <div class="panel panel-default" t-if="exception">
419             <div class="panel-heading">
420                 <h4 class="panel-title">
421                     <a data-toggle="collapse" data-parent="#debug_infos" href="#error_main">
422                         Error
423                     </a>
424                 </h4>
425             </div>
426             <div id="error_main" class="panel-collapse collapse in">
427                 <div class="panel-body">
428                     <p t-if="website_controller">The following error was raised in the website controller <code t-esc="website_controller"/></p>
429                     <p><strong>Error message:</strong> <pre t-esc="exception.message"/></p>
430                 </div>
431             </div>
432         </div>
433         <div class="panel panel-default" t-if="qweb_template">
434             <div class="panel-heading">
435                 <h4 class="panel-title">
436                     <a data-toggle="collapse" data-parent="#adebug_infos" href="#error_qweb">
437                         QWeb
438                     </a>
439                 </h4>
440             </div>
441             <div id="error_qweb" class="panel-collapse collapse">
442                 <div class="panel-body">
443                     <p>
444                         The error occured while rendering the template <code t-esc="qweb_template"/>
445                         <t t-if="qweb_eval">and evaluating the following expression: <code t-esc="qweb_eval"/></t>
446                     </p>
447                     <t t-if="qweb_node">
448                         <pre id="exception_node" t-esc="qweb_node.toxml()"/>
449                     </t>
450                 </div>
451             </div>
452         </div>
453         <div class="panel panel-default" t-if="traceback">
454             <div class="panel-heading">
455                 <h4 class="panel-title">
456                     <a data-toggle="collapse" data-parent="#adebug_infos" href="#error_traceback">
457                         Traceback
458                     </a>
459                 </h4>
460             </div>
461             <div id="error_traceback" class="panel-collapse collapse">
462                 <div class="panel-body">
463                     <pre id="exception_traceback" t-esc="traceback"/>
464                 </div>
465             </div>
466         </div>
467     </div>
468 </template>
469
470 <template id="403">
471     <t t-call="website.layout">
472         <div id="wrap">
473             <div class="container">
474                 <h1 class="mt32">403: Forbidden</h1>
475                 <p>The page you were looking for could not be authorized.</p>
476                 <p>Maybe you were looking for one of these popular pages ?</p>
477                 <ul>
478                     <li><a href="/">Homepage</a></li>
479                     <li><a href="/page/website.contactus/">Contact Us</a></li>
480                 </ul>
481             </div>
482             <t t-if="editable or request.debug">
483                 <t t-call="website.http_error_debug"/>
484             </t>
485         </div>
486     </t>
487 </template>
488
489 <template id="404">
490     <t t-call="website.layout">
491         <div id="wrap">
492             <t t-raw="0"/>
493             <div class="oe_structure oe_empty">
494                 <div class="container">
495                     <h1 class="mt32">404: Page not found!</h1>
496                     <p>
497                         The page you were looking for could not be found; it is possible you have
498                         typed the address incorrectly, but it has most probably been removed due
499                         to the recent website reorganisation.
500                     </p>
501                     <p>Maybe you were looking for one of these popular pages ?</p>
502                     <ul>
503                         <li><a href="/">Homepage</a></li>
504                         <li><a href="/page/website.contactus/">Contact Us</a></li>
505                     </ul>
506                 </div>
507             </div>
508
509             <t t-if="request.debug">
510                 <t t-call="website.http_error_debug"/>
511             </t>
512         </div>
513     </t>
514 </template>
515
516 <template id="500">
517     <!-- This template should not use any variable except those provided by website.ir_http._handle_exception -->
518     <html>
519         <head>
520             <title t-esc="status_message">Internal Server Error</title>
521             <link rel='stylesheet' href='/web/static/lib/fontawesome/css/font-awesome.css'/>
522             <link rel='stylesheet' href='/web/static/lib/bootstrap/css/bootstrap.css'/>
523             <link rel='stylesheet' href='/website/static/src/css/website.css'/>
524             <script type="text/javascript" src="/web/static/lib/jquery/jquery.js"></script>
525             <script type="text/javascript" src="/web/static/lib/bootstrap/js/bootstrap.js"></script>
526         </head>
527         <body>
528             <div id="wrapwrap">
529                     <div class="navbar navbar-default navbar-static-top">
530                         <div class="container">
531                             <div class="collapse navbar-collapse navbar-top-collapse">
532                                 <ul class="nav navbar-nav">
533                                     <li><a href="/">Home</a></li>
534                                     <li><a href="javascript: window.history.back()">Back</a></li>
535                                 </ul>
536                             </div>
537                         </div>
538                     </div>
539                 <div class="mb32">
540                     <div class="oe_structure">
541                         <h1 class="container mt32"><t t-esc="status_code"/>: <t t-esc="status_message"/></h1>
542                     </div>
543
544                     <div class="container" t-if="views">
545                         <div class="alert alert-danger" t-if="qweb_template and editable">
546                             <h4>Template fallback</h4>
547                             <p>An error occured while rendering the template <code t-esc="qweb_template"/>.</p>
548                             <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>
549                             <form action="/website/reset_templates" method="post">
550                                 <ul class="oe_template_fallback">
551                                     <li t-foreach="views" t-as="view">
552                                         <label>
553                                             <input type="checkbox" name="templates" t-att-value="view.id" t-att-checked="'checked' if view_first else None"/>
554                                             <t t-esc="view.name"/>
555                                         </label>
556                                     </li>
557                                 </ul>
558                                 <input type="hidden" name="redirect" t-att-value="request.httprequest.path"/>
559                                 <input type="submit" value="Reset selected templates"/>
560                             </form>
561                         </div>
562                     </div>
563
564                     <t t-if="editable or request.debug">
565                         <t t-call="website.http_error_debug"/>
566                     </t>
567                 </div>
568             </div>
569         </body>
570     </html>
571 </template>
572
573 <template id="robots">
574 # robotstxt.org/
575 User-agent: *
576 Sitemap: <t t-esc="url_root"/>sitemap.xml
577 </template>
578
579 <template id="sitemap" name="Site Map">
580     <t t-call="website.layout">
581         <ul>
582             <li t-foreach="pages" t-as="page">
583                 <a t-att-href="page['url']"><t t-esc="page['name']"/></a>
584             </li>
585         </ul>
586     </t>
587 </template>
588
589 <template id="sitemap_xml">
590     <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
591         <t t-foreach="pages" t-as="page">
592             <url>
593                 <loc><t t-esc="page['url']"/></loc>
594             </url>
595         </t>
596     </urlset>
597 </template>
598
599 <!-- Actual pages -->
600
601 <template id="homepage" name="Homepage" page="True">
602     <t t-call="website.layout">
603       <div id="wrap" class="oe_structure oe_empty"></div>
604     </t>
605 </template>
606
607 <template id="company_description" name="Company Description">
608     <address>
609         <div t-field="res_company.name">Name</div>
610         <br />
611         <div>&amp;#x2706; <span t-field="res_company.phone"></span></div>
612         <div class="fa fa-envelope" t-field="res_company.email"></div>
613     </address>
614      <a t-att-href="res_company.google_map_link()" target="_BLANK">
615         <img class="thumbnail img-responsive" t-att-src="res_company.google_map_img()" />
616     </a>
617 </template>
618
619 <template id="contactus" name="Contact us" page="True">
620     <t t-call="website.layout">
621       <div id="wrap">
622         <div class="oe_structure"/>
623         <div class="container">
624             <h1>Contact us</h1>
625             <div class="row">
626                 <div class="col-md-8">
627                     <div class="oe_structure">
628                         <div>
629                             <p>Contact us about anything related to our company or services.</p>
630                             <p>We'll do our best to get back to you as soon as possible.</p>
631                         </div>
632                     </div>
633                     <div class="text-center mt64" name="mail_button">
634                         <a t-attf-href="mailto:{{ res_company.email }}" class="btn btn-primary">Send us an email</a>
635                     </div>
636                 </div>
637                 <div class="col-md-4 mb32">
638                     <t t-call="website.company_description"/>
639                 </div>
640             </div>
641         </div>
642         <div class="oe_structure"/>
643       </div>
644     </t>
645 </template>
646
647 <template id="aboutus" name="About us" page="True">
648     <t t-call="website.layout">
649         <div id="wrap">
650             <div class="oe_structure">
651
652                 <section data-snippet-id="title">
653                     <div class="container">
654                         <div class="row">
655                             <div class="col-md-12">
656                                 <h1 class="text-center">About us</h1>
657                                 <h3 class="text-muted text-center">Great products for great people</h3>
658                             </div>
659                         </div>
660                     </div>
661                 </section>
662
663                 <section data-snippet-id="text-image">
664                     <div class="container">
665                         <div class="row">
666                             <div class="col-md-6 mt32">
667                                 <p>
668                                       We are a team of passionate people whose goal is to improve everyone's
669                                       life through disruptive products. We build great products to solve your
670                                       business problems.
671                                 </p>
672                                 <p>
673                                       Our products are designed for small to medium size companies willing to optimize
674                                       their performance.
675                                 </p>
676                             </div>
677                             <div class="col-md-4 col-md-offset-2 mt16 mb16">
678                                 <img src="/website/static/src/img/library/business_conference.jpg" class="img img-responsive shadow" alt="Our Team"/>
679                             </div>
680                         </div>
681                     </div>
682                 </section>
683
684             </div>
685             <div class="oe_structure"></div>
686         </div>
687     </t>
688 </template>
689
690 <template id="creation_failed">
691     <t t-call="website.layout">
692         <div id="wrap">
693             <div class="oe_structure">
694                 <div class="container">
695                     <h1 class="text-center">
696                         The page "<em><t t-esc="page"/></em>"
697                         already exists
698                     </h1>
699                     <h3 class="text-center text-muted">We could not create it.</h3>
700                     <ul>
701                         <li>
702                             You can <a t-href="#{path}">visit the existing page</a>
703                         </li>
704                         <li>Or you can <a href="#" class="create-new-page">
705                             create an other page.</a></li>
706                     </ul>
707                 </div>
708             </div>
709         </div>
710         <script type="application/javascript">
711             $(document.body).on('click', 'a.create-new-page', function (e) {
712                 e.preventDefault();
713                 openerp.website.prompt({
714                     window_title: "New Page",
715                     input: "Page Title",
716                 }).then(function (val) {
717                     if (val) {
718                         document.location = '/pagenew/' + encodeURI(val);
719                     }
720                 });
721             });
722         </script>
723     </t>
724 </template>
725
726 <template id="contact">
727     <address t-ignore="true">
728         <div t-attf-class="'name' not in fields and 'css_non_editable_mode_hidden'"><span t-esc="name"/></div>
729         <div class='css_editable_mode_hidden'>
730             <div t-if="address and 'address' in fields">
731                 <i class='fa fa-map-marker'/>
732                 <span t-raw="address.replace('\n', options.get('no_tag_br') and ', ' or '&lt;br/&gt; &amp;nbsp; &amp;nbsp; ')"/>
733             </div>
734             <div t-if="phone and 'phone' in fields"><i class='fa fa-phone'/> <span t-esc="phone"/></div>
735             <div t-if="mobile and 'mobile' in fields"><i class='fa fa-mobile-phone'/> <span t-esc="mobile"/></div>
736             <div t-if="fax and 'fax' in fields"><i class='fa fa-file-text-o'/> <span t-esc="fax"/></div>
737             <div t-if="email and 'email' in fields"><i class='fa fa-envelope'/> <span t-esc="email"/></div>
738         </div>
739     </address>
740 </template>
741
742      </data>
743 </openerp>