2011-03-02 21:09:42 +00:00
<?xml version="1.0" encoding="UTF-8"?>
<!-- vim:fdl=1:
-->
<templates id= "template" xml:space= "preserve" >
2011-03-09 15:03:38 +00:00
<t t-name= "Interface" >
2011-03-03 17:46:07 +00:00
<div id= "oe_loading" class= "loading" > </div>
<div id= "oe_login" class= "login" > </div>
2011-03-08 22:47:58 +00:00
<div style= "position: absolute; right: 2px; top: 38px;" >
2011-03-02 21:09:42 +00:00
<button onclick= "QWeb.add_template('base.xml'); $('body').css('background-color', '#FFFF9C'); setTimeout(function() { $('body').css('background-color', '#FFF'); }, 500);" > Reload QWEB</button>
</div>
2011-03-22 11:49:19 +00:00
<table border= "0" cellpadding= "0" cellspacing= "0" width= "100%" height= "100%" class= "main_table" >
<tr >
<td colspan= "2" >
<div id= "oe_header" class= "header" > </div>
<div id= "oe_menu" class= "menu" > </div>
</td>
</tr>
<tr >
<td valign= "top" id= "oe_secondary_menu" class= "secondary_menu" >
</td>
<td valign= "top" width= "100%" height= "100%" >
<div id= "oe_main" class= "main" >
<div id= "oe_application" class= "application" > </div>
<div id= "oe_sidebar" > </div>
</div>
</td>
</tr>
<tr >
<td colspan= "2" >
<div id= "oe_footer" class= "footer" >
Powered by OpenERP.
</div>
</td>
</tr>
<tr >
<td colspan= "2" >
<div id= "oe_errors" >
Debug:
</div>
</td>
</tr>
</table>
2011-03-02 21:09:42 +00:00
</t>
<t t-name= "Loading" >
Loading...
</t>
2011-03-09 15:03:38 +00:00
<t t-name= "Login" >
2011-03-02 21:09:42 +00:00
<form >
2011-03-17 15:01:53 +00:00
Database: <input type= "text" name= "db" value= "trunk" /> <br />
2011-03-02 21:09:42 +00:00
Login: <input type= "text" name= "login" value= "admin" /> <br />
Password: <input type= "password" name= "password" value= "a" /> <br />
<input type= "submit" name= "submit" value= "Login" />
</form>
</t>
2011-03-08 22:47:58 +00:00
<t t-name= "Header" >
<a href= "/" class= "company_logo_link" >
<img src= "/base/static/openerp/img/logo.png" border= "0" class= "company_logo" />
</a>
2011-03-20 20:01:17 +00:00
<h1 class= "header_title" t-if= "session.session_is_valid()" >
2011-03-08 22:47:58 +00:00
<span class= "company" > $company</span> - (<span class= "database" > $database</span> )<br />
2011-03-20 20:01:17 +00:00
<small class= "username" > $username session_id: <t t-esc= "session.session_id" /> </small>
2011-03-08 22:47:58 +00:00
</h1>
<div class= "header_corner" >
2011-03-20 20:01:17 +00:00
<ul class= "block" t-if= "session.session_is_valid()" >
2011-03-09 15:03:38 +00:00
<li >
<a href= "#home" title= "Home" class= "home" > <img src= "/base/static/openerp/img/header-home.png" width= "16" height= "16" border= "0" /> </a>
</li>
<li >
<a href= "#requests" title= "Requests" class= "requests" > <img src= "/base/static/openerp/img/header-requests.png" width= "16" height= "16" border= "0" /> <small > 1</small> </a>
</li>
<li class= "preferences" >
<a href= "#preferences" title= "Preferences" class= "preferences" > <img src= "/base/static/openerp/img/header-preferences.png" width= "16" height= "16" border= "0" /> </a>
</li>
<li >
<a href= "#about" title= "About" class= "about" > <img src= "/base/static/openerp/img/header-about.png" width= "16" height= "16" border= "0" /> </a>
</li>
<li >
<a href= "http://doc.openerp.com/v6.0/book?version=$version" title= "Help" target= "_blank" class= "help" > <img src= "/base/static/openerp/img/header-help.png" width= "16" height= "16" border= "0" /> </a>
</li>
</ul>
2011-03-20 20:01:17 +00:00
<div class= "block" >
2011-03-09 15:03:38 +00:00
<a href= "#logout" class= "logout" > LOGOUT</a>
</div>
2011-03-08 22:47:58 +00:00
</div>
</t>
2011-03-22 11:49:19 +00:00
<t t-name= "Menu" >
<ul >
<li t-foreach= "data.children" t-as= "menu" >
<a href= "#" t-att-data-menu= "menu.id" >
<span > <t t-esc= "menu.name" /> </span>
</a>
</li>
2011-03-02 21:09:42 +00:00
</ul>
</t>
2011-03-22 11:49:19 +00:00
<t t-name= "Menu.secondary" >
<div style= "display: none" class= "menu_accordion" t-att-data-menu-parent= "menu.id" >
<t t-foreach= "menu.children" t-as= "menu" >
<t t-set= "header" > h3</t>
<t t-call= "Menu.secondary.children" />
</t>
</div>
</t>
<t t-name= "Menu.secondary.children" >
< <t t-esc= "header" /> >
<a href= "#" t-attf-id= "menu_#{menu.id}" >
<span > <t t-esc= "menu.name" /> </span>
</a>
< /<t t-esc= "header" /> >
<div class= "menu_content" >
<t t-foreach= "menu.children" t-as= "menu" >
<t t-if= "!menu.children.length" >
<a href= "#" class= "leaf" t-att-data-menu= "menu.id" >
<span > <t t-esc= "menu.name" /> </span>
</a>
</t>
<t t-if= "menu.children.length" >
<div class= "submenu_accordion" >
<t t-call= "Menu.secondary.children" >
<t t-set= "header" > h4</t>
</t>
</div>
</t>
2011-03-02 21:09:42 +00:00
</t>
2011-03-22 11:49:19 +00:00
</div>
2011-03-02 21:09:42 +00:00
</t>
2011-03-24 16:31:14 +00:00
<t t-name= "ViewManager" >
<!-- TODO prefix id with the element_id of the controller t - attf - id="#{prefix}_localid" -->
<div style= "text-align:right;" >
<!--
<input t-foreach= "views" t-as= "view" t-att-id= "" t-att-value= "view[1]" />
-->
<t t-foreach= "views" t-as= "view" >
<input t-attf-id= "#{prefix}_button_#{view[1]}" type= "button" t-att-value= "view[1]" />
</t>
</div>
<div t-attf-id= "#{prefix}_search" > </div>
<t t-foreach= "views" t-as= "view" >
<div t-attf-id= "#{prefix}_view_#{view[1]}" > </div>
</t>
</t>
2011-03-02 21:09:42 +00:00
<t t-name= "ListView" >
<!--
<h3 > <t t-esc= "fields_view.arch['@string']" /> </h3>
-->
<div style= "text-align:right;" >
<input type= "button" value= "First" />
<input type= "button" value= "<<" />
0 / 0
<input type= "button" value= ">>" />
<input type= "button" value= "Last" />
</div>
<table id= "todo_use_unique_id" class= "jqGrid" > </table>
</t>
2011-03-16 14:00:45 +00:00
<t t-name= "FormView" >
<h3 class= "title" > <t t-esc= "view.fields_view.arch.attrs.string" /> </h3>
<div style= "text-align:right;" >
<input type= "button" value= "First" />
<input type= "button" value= "<<" />
0 / 0
<input type= "button" value= ">>" />
<input type= "button" value= "Last" />
</div>
<t t-raw= "frame.render()" />
<div style= "text-align:right;" >
<input type= "button" value= "Save" />
</div>
</t>
2011-03-17 17:25:08 +00:00
<t t-name= "Widget" >
2011-03-16 14:00:45 +00:00
Unhandled widget
<t t-raw= "console.log('Unhandled widget', widget)" />
</t>
2011-03-17 17:25:08 +00:00
<t t-name= "WidgetFrame" >
2011-03-16 14:00:45 +00:00
<table border= "0" width= "100%" cellpadding= "2" cellspacing= "2" >
<tr t-foreach= "widget.table" t-as= "row" >
<t t-foreach= "row" t-as= "td" >
<td t-att-colspan= "td.colspan gt 1 ? td.colspan : undefined"
t-att-width="td.width ? td.width : undefined"
t-att-nowrap="td.is_field_label ? 'true' : undefined"
2011-03-22 17:18:01 +00:00
t-att-valign="td.table ? 'top' : undefined"
t-att-id="td.element_id"
>
<t t-raw= "td.render()" />
2011-03-16 14:00:45 +00:00
</td>
</t>
</tr>
</table>
</t>
2011-03-17 17:25:08 +00:00
<t t-name= "WidgetNotebook" >
2011-03-22 17:18:01 +00:00
<ul >
<li t-foreach= "widget.pages" t-as= "page" >
<a t-att-href= "'#' + widget.element_id + '-' + page_index" >
<t t-esc= "page.string" />
</a>
</li>
</ul>
<t t-foreach= "widget.pages" t-as= "page" >
<div t-att-id= "widget.element_id + '-' + page_index" >
<t t-raw= "page.render()" />
</div>
</t>
2011-03-16 14:00:45 +00:00
</t>
2011-03-17 17:25:08 +00:00
<t t-name= "WidgetSeparator" >
2011-03-16 14:00:45 +00:00
<div t-att-class= "'separator ' + (widget.node.attrs.orientation || 'horizontal')" >
<t t-esc= "widget.string" />
</div>
</t>
2011-03-17 17:25:08 +00:00
<t t-name= "WidgetLabel" >
2011-03-24 21:03:47 +00:00
<label t-att-for= "widget.element_id" t-att-title= "widget.help" style= "display: block; text-align: right;"
t-att-ondblclick="'console.log(\'' + widget.element_id + '\', openerp.screen.' + widget.element_id + ')'">
<t t-esc= "widget.string" />
<span t-if= "widget.help" > ?</span>
2011-03-16 14:00:45 +00:00
:
</label>
</t>
2011-03-17 17:25:08 +00:00
<t t-name= "FieldChar" >
2011-03-22 17:18:01 +00:00
<input type= "text"
t-att-name="widget.name"
t-att-required="widget.node.attrs.required ? 'required' : undefined"
t-att-class="'field_' + widget.type" style="width: 100%"
/>
2011-03-16 14:00:45 +00:00
</t>
2011-03-17 17:25:08 +00:00
<t t-name= "FieldText" >
2011-03-22 17:18:01 +00:00
<textarea rows= "6" style= "width: 100%;"
t-att-name="widget.name"
t-att-required="widget.node.attrs.required ? 'required' : undefined"
t-att-class="'field_' + widget.type"
></textarea>
2011-03-16 14:00:45 +00:00
</t>
2011-03-17 17:25:08 +00:00
<t t-name= "FieldDate" >
2011-03-22 17:18:01 +00:00
<input type= "text" style= "width: 100%"
t-att-name="widget.name"
t-att-required="widget.node.attrs.required ? 'required' : undefined"
t-att-class="'field_' + widget.type"
/>
2011-03-16 14:00:45 +00:00
</t>
2011-03-17 17:25:08 +00:00
<t t-name= "FieldDatetime" >
2011-03-22 17:18:01 +00:00
<input type= "text" style= "width: 100%"
t-att-name="widget.name"
t-att-required="widget.node.attrs.required ? 'required' : undefined"
t-att-class="'field_' + widget.type"
/>
2011-03-16 14:00:45 +00:00
</t>
2011-03-17 17:25:08 +00:00
<t t-name= "FieldSelection" >
2011-03-16 14:00:45 +00:00
<select t-att-name= "widget.name" t-att-id= "widget.element_id" t-att-class= "'field_' + widget.type" style= "width: 100%" >
<t t-foreach= "widget.field.selection" t-as= "options" >
<option t-att-value= "options[0]" >
<t t-esc= "options[1]" />
</option>
</t>
</select>
</t>
2011-03-17 17:25:08 +00:00
<t t-name= "FieldMany2One" >
2011-03-16 14:00:45 +00:00
<input type= "text" t-att-name= "widget.name" t-att-id= "widget.element_id" t-att-class= "'field_' + widget.type" style= "width: 100%; border: 1px solid red;" placeholder= "Many 2 One: Please, enter the ID of the object. Thank you !" />
</t>
2011-03-17 17:25:08 +00:00
<t t-name= "FieldOne2Many" >
2011-03-16 14:00:45 +00:00
<div style= "background: #ccc; padding: 20px" >
One2Many widget
</div>
</t>
2011-03-22 17:18:01 +00:00
<t t-name= "FieldMany2Many" >
<div style= "background: #ccc; padding: 20px" >
Many2Many widget
</div>
</t>
2011-03-17 17:25:08 +00:00
<t t-name= "FieldReference" >
2011-03-16 14:00:45 +00:00
<input type= "text" t-att-name= "widget.name" t-att-id= "widget.element_id" t-att-class= "'field_' + widget.type" style= "width: 100%" placeholder= "Widget Reference" />
</t>
2011-03-17 17:25:08 +00:00
<t t-name= "FieldBoolean" >
2011-03-16 14:00:45 +00:00
<input type= "checkbox" t-att-name= "widget.name" t-att-id= "widget.element_id" t-att-class= "'field_' + widget.type" />
</t>
2011-03-17 17:25:08 +00:00
<t t-name= "WidgetButton" >
2011-03-16 14:00:45 +00:00
<button type= "button" t-att-id= "widget.element_id" t-att-title= "widget.help" style= "width: 100%" class= "button" >
<img t-if= "widget.node.attrs.icon" t-att-src= "'/base/static/openerp/img/icons/' + widget.node.attrs.icon + '.png'" width= "16" height= "16" />
<t t-esc= "widget.string" />
</button>
</t>
2011-03-02 21:09:42 +00:00
<t t-name= "SearchView" >
2011-03-03 17:46:07 +00:00
<h3 class= "title" > <t t-esc= "fields_view.arch.attrs['string']" /> </h3>
<table border= "0" cellspacing= "0" cellpadding= "0" >
2011-03-02 21:09:42 +00:00
<tr >
<t t-call= "SearchView.node" >
<t t-set= "node" t-value= "fields_view.arch" />
<t t-set= "previous_node_type" > </t>
</t>
</tr>
</table>
<div style= "text-align:right;" >
<input id= "search" type= "button" value= "Search" />
<input type= "button" value= "Clear" />
</div>
</t>
2011-03-07 13:55:15 +00:00
<t t-name= "SearchView.node" t-trim= "inner" >
2011-03-02 21:09:42 +00:00
<t t-if= "node.tag == 'filter'" >
<t t-if= "previous_node_type != 'filter'" >
2011-03-03 17:46:07 +00:00
< td nowrap="true" valign="bottom" class="filter_label_group">
2011-03-02 21:09:42 +00:00
</t>
2011-03-03 17:46:07 +00:00
<button type= "button" t-att-title= "node.attrs.help" t-att-class= "node.attrs.string ? 'filter_label' : 'filter_icon'" >
2011-03-03 14:55:52 +00:00
<img t-if= "node.attrs.icon" t-att-src= "'/base/static/openerp/img/icons/' + node.attrs.icon + '.png'" width= "16" height= "16" />
<br t-if= "node.attrs.icon and node.attrs.string" />
<t t-esc= "node.attrs.string" />
2011-03-03 14:11:45 +00:00
</button>
2011-03-02 21:09:42 +00:00
<t t-if= "next_node_type != 'filter'" >
< /td>
</t>
</t>
<t t-if= "node.tag == 'separator'" >
<!-- nothing in search view ? -->
</t>
<t t-if= "node.tag == 'newline'" >
<!-- TODO: check qweb support for cdata -->
< /tr>
< /table>
2011-03-03 17:46:07 +00:00
< table border="0" cellspacing="0" cellpadding="0">
2011-03-02 21:09:42 +00:00
< tr>
</t>
<t t-if= "node.tag == 'field'" >
2011-03-03 14:55:52 +00:00
<t t-set= "orm" t-value= "fields_view.fields[node.attrs.name] || {}" />
2011-03-02 21:09:42 +00:00
<td >
2011-03-03 14:55:52 +00:00
<label style= "display: block" t-att-title= "orm.help || node.attrs.help" >
<t t-esc= "orm.string || node.attrs.string || node.attrs.name" />
<span t-if= "orm.help || node.attrs.help" > (?)</span>
2011-03-03 14:11:45 +00:00
</label>
<div >
2011-03-03 14:55:52 +00:00
<input type= "text" t-att-name= "node.attrs.name" />
2011-03-03 14:11:45 +00:00
</div>
2011-03-02 21:09:42 +00:00
</td>
</t>
2011-03-07 16:20:47 +00:00
<t t-if= "node.tag == 'group'" >
<!-- if group is called without a <newline/> before, the table should be closed.
I think we'll need preprocessing, all those escaped tables are too ugly -->
<td >
<div t-att-class= "'searchview_group ' + (node.attrs.expand == '0' ? 'folded' : 'expanded')" >
<a class= "searchview_group_string" href= "#" onclick= "$(this).parent().toggleClass('folded expanded')" > <t t-esc= "node.attrs.string" /> </a>
<div class= "searchview_group_content" >
<table border= "0" cellspacing= "0" cellpadding= "0" >
<tr >
<t t-call= "SearchView.recurse" />
</tr>
</table>
</div>
</div>
</td>
< /tr>
< /table>
< table border="0" cellspacing="0" cellpadding="0">
< tr>
</t>
<t t-if= "node.children and node.tag != 'newline' and node.tag != 'group'" >
<t t-call= "SearchView.recurse" />
</t>
</t>
<t t-name= "SearchView.recurse" t-trim= "inner" >
<t t-foreach= "node.children" t-as= "node" >
<t t-call= "SearchView.node" >
<t t-set= "previous_node_type" t-value= "node_all[node_index - 1] ? node_all[node_index - 1].tag : ''" />
<t t-set= "next_node_type" t-value= "node_all[node_index + 1] ? node_all[node_index + 1].tag : ''" />
2011-03-02 21:09:42 +00:00
</t>
</t>
</t>
</templates>