[IMP] Added integer and float to custom filters.
[odoo/odoo.git] / addons / base / static / src / xml / base.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!-- vim:fdl=1:
3 -->
4 <templates id="template" xml:space="preserve">
5 <t t-name="Interface">
6     <div id="oe_loading" class="loading"></div>
7     <div id="oe_notification" class="oe_notification">
8         <div id="oe_notification_default">
9             <a class="ui-notify-cross ui-notify-close" href="#">x</a>
10             <h1>#{title}</h1>
11             <p>#{text}</p>
12         </div>
13         <div id="oe_notification_alert" class="ui-state-error">
14             <a class="ui-notify-cross ui-notify-close" href="#">x</a>
15             <span style="float:left; margin:2px 5px 0 0;" class="ui-icon ui-icon-alert"></span>
16             <h1>#{title}</h1>
17             <p>#{text}</p>
18         </div>
19     </div>
20     <div id="oe_login" class="login"></div>
21     <table border="0" cellpadding="0" cellspacing="0" width="100%" height="100%" class="main_table">
22     <tr>
23         <td colspan="2">
24             <div id="oe_header" class="header"></div>
25             <div id="oe_menu" class="menu"></div>
26         </td>
27     </tr>
28     <tr>
29         <td valign="top" id="oe_secondary_menu" class="secondary_menu">
30         </td>
31         <td valign="top" >
32             <div id="oe_app" class="oe-application">
33                 <div style="width:100%;">&amp;nbsp;</div>
34             </div>
35         </td>
36     </tr>
37     <tr>
38         <td colspan="2">
39             <div id="oe_footer" class="oe_footer">
40                 <p class="oe_footer_powered">Powered by <a href="http://www.openerp.com">openerp.com</a>.</p>
41             </div>
42         </td>
43     </tr>
44     </table>
45 </t>
46 <t t-name="Loading">
47     Loading...
48 </t>
49 <t t-name="Login">
50     <form>
51         Database: <input type="text" name="db" value="trunk"/><br/>
52         Login: <input type="text" name="login" value="admin"/><br/>
53         Password: <input type="password" name="password" value="a"/><br/>
54         <input type="submit" name="submit" value="Login"/>
55     </form>
56 </t>
57 <t t-name="Header">
58     <a href="/" class="company_logo_link">
59         <div class="company_logo" />
60     </a>
61     <h1 class="header_title" t-if="session.session_is_valid()">
62         <span class="company">$company</span> - (<span class="database">$database</span>)<br/>
63         <small class="username">$username session_id: <t t-esc="session.session_id"/></small>
64     </h1>
65     <div class="header_corner">
66         <ul class="block" t-if="session.session_is_valid()">
67             <li>
68                 <a href="#home" title="Home" class="home"><img src="/base/static/src/img/header-home.png" width="16" height="16" border="0"/></a>
69             </li>
70             <li>
71                 <a href="#requests" title="Requests" class="requests"><img src="/base/static/src/img/header-requests.png" width="16" height="16" border="0"/><small>1</small></a>
72             </li>
73             <li class="preferences">
74                 <a href="#preferences" title="Preferences" class="preferences"><img src="/base/static/src/img/header-preferences.png" width="16" height="16" border="0"/></a>
75             </li>
76             <li>
77                 <a href="#about" title="About" class="about"><img src="/base/static/src/img/header-about.png" width="16" height="16" border="0"/></a>
78             </li>
79             <li>
80                 <a href="http://doc.openerp.com/v6.0/book?version=$version" title="Help" target="_blank" class="help"><img src="/base/static/src/img/header-help.png" width="16" height="16" border="0"/></a>
81             </li>
82         </ul>
83         <div class="block">
84             <a href="#logout" class="logout">LOGOUT</a>
85         </div>
86
87     </div>
88 </t>
89 <t t-name="Menu">
90     <table align="center">
91         <tr>
92         <t t-foreach="data.children" t-as="menu">
93             <td>
94                 <a href="#" t-att-data-menu="menu.id">
95                     <span><t t-esc="menu.name"/></span>
96                 </a>
97             </td>
98         </t>
99         </tr>
100     </table>
101 </t>
102 <t t-name="Menu.secondary">
103     <div style="display: none" class="menu_accordion" t-att-data-menu-parent="menu.id">
104         <t t-foreach="menu.children" t-as="menu">
105             <t t-set="header">h3</t>
106             <t t-call="Menu.secondary.children"/>
107         </t>
108     </div>
109 </t>
110 <t t-name="Menu.secondary.children">
111     &lt;<t t-esc="header"/>&gt;
112         <a href="#" t-attf-id="menu_#{menu.id}">
113             <span><t t-esc="menu.name"/></span>
114         </a>
115     &lt;/<t t-esc="header"/>&gt;
116     <div class="menu_content">
117         <t t-foreach="menu.children" t-as="menu">
118             <t t-if="!menu.children.length">
119                 <a href="#" class="leaf" t-att-data-menu="menu.id">
120                     <span><t t-esc="menu.name"/></span>
121                 </a>
122             </t>
123             <t t-if="menu.children.length">
124                 <div class="submenu_accordion">
125                     <t t-call="Menu.secondary.children">
126                         <t t-set="header">h4</t>
127                     </t>
128                 </div>
129             </t>
130         </t>
131     </div>
132 </t>
133 <t t-name="ViewManager">
134     <table class="view-manager-main-table">
135     <tr>
136         <td class="view-manager-main-content">
137             <!-- TODO prefix id with the element_id of the controller t-attf-id="#{prefix}_localid" -->
138             <div class="oe_vm_switch">
139                 <t t-if="views.length != 1" t-foreach="views" t-as="view">
140                     <button type="button" t-att-data-view-type="view[1]">
141                         <t t-esc="view[1]"/>
142                     </button>
143                 </t>
144             </div>
145             <div t-attf-id="#{prefix}_search" t-opentag="true"/>
146             <t t-foreach="views" t-as="view">
147                 <div t-attf-id="#{prefix}_view_#{view[1]}"/>
148             </t>
149         </td>
150         <td class="view-manager-main-sidebar">
151         </td>
152     </tr>
153     </table>
154 </t>
155 <table t-name="ListView">
156     <t t-set="columns_count" t-value="visible_columns.length + (options.selectable ? 1 : 0) + (options.deletable ? 1 : 0)"/>
157     <t t-set="actions_span" t-value="Math.floor((options.deletable or options.addable) ? columns_count/2 : 0)"/>
158     <thead class="ui-widget-header">
159         <tr t-if="options.selectable">
160             <th t-if="actions_span" t-att-colspan="actions_span"
161                 class="oe-actions">
162                 <t t-if="flags.action_buttons !== false">
163                     <button type="button" id="oe-list-add"
164                             t-if="options.addable">
165                         <t t-esc="options.addable"/>
166                     </button>
167                     <button type="button" id="oe-list-delete"
168                             t-if="options.deletable">
169                         Delete
170                     </button>
171                 </t>
172             </th>
173             <th t-att-colspan="columns_count - actions_span"
174                 class="oe-list-pager">
175                 <t t-if="flags.pager !== false">
176                     <button type="button" data-pager-action="first">First</button>
177                     <button type="button" data-pager-action="previous"
178                             >&lt;&lt;</button>
179
180                     <span class="oe-pager-first">1</span>
181                     to <span class="oe-pager-last">1</span>
182                     of <span class="oe-pager-total">1</span>
183
184                     <button type="button" data-pager-action="next">&gt;&gt;</button>
185                     <button type="button" data-pager-action="last">Last</button>
186                 </t>
187             </th>
188         </tr>
189         <tr t-if="options.header">
190             <th t-if="options.selectable"/>
191             <t t-foreach="columns" t-as="column">
192                 <th t-if="column.invisible !== '1'" t-att-data-id="column.id"
193                     t-att-class="((options.sortable and column.tag !== 'button') ? 'oe-sortable' : null)">
194                     <t t-if="column.tag !== 'button'">
195                         <t t-esc="column.string"/>
196                         <span t-att-class="(fields_view.sorted.field === column.id) ? ('ui-icon' + (fields_view.sorted.reversed ? ' ui-icon-triangle-1-n' : ' ui-icon-triangle-1-s')) : ''"/>
197                     </t>
198                 </th>
199             </t>
200             <th t-if="options.deletable"/>
201         </tr>
202     </thead>
203 </table>
204 <t t-name="ListView.rows" t-foreach="rows" t-as="row">
205     <t t-call="ListView.row">
206         <t t-set="style" t-value="null"/>
207         <t-if test="row.color">
208             <t t-set="style" t-value="'color: ' + row.color"/>
209         </t-if>
210     </t>
211 </t>
212 <tr t-name="ListView.row" t-att-style="style" t-att-class="row_parity">
213     <th t-if="options.selectable" class="oe-record-selector">
214         <input type="checkbox"/>
215     </th>
216     <t t-foreach="columns" t-as="column">
217         <t t-set="attrs" t-value="column.attrs_for(row.data)"/>
218         <td t-if="column.invisible !== '1'" t-att-title="column.help"
219             class="oe-field-cell" t-att-data-field="column.id">
220             <t t-if="!attrs.invisible">
221                 <t t-set="is_button" t-value="column.tag === 'button'"/>
222                 <!-- TODO: get correct widget from form -->
223                 <t t-if="!is_button and row['data'][column.id].value">
224                     <t t-set="value" t-value="row['data'][column.id].value"/>
225                     <t t-esc="value instanceof Array ? value[1] : value"/>
226                 </t>
227                 <button type="button" t-att-title="column.help"
228                         t-if="is_button">
229                     <img t-att-src="'/base/static/src/img/icons/' + column.icon + '.png'"
230                          t-att-alt="column.string"/>
231                 </button>
232             </t>
233         </td>
234     </t>
235     <td t-if="options.deletable" class='oe-record-delete'>
236         <button type="button" name="delete">â™»</button>
237     </td>
238 </tr>
239 <t t-name="FormView">
240     <h2 class="oe_view_title"><t t-esc="view.fields_view.arch.attrs.string"/></h2>
241     <div class="oe_form_header" t-att-id="view.element_id + '_header'">
242         <div class="oe_form_buttons" t-if="view.flags.action_buttons !== false">
243             <!--<button type="button" class="oe_form_button_save">Save</button>-->
244             <button type="button" class="oe_form_button_save_edit">Save &amp; Edit</button>
245             <!--<button type="button" class="oe_form_button_cancel">Cancel</button>-->
246             <button type="button" class="oe_form_button_new">New</button>
247         </div>
248         <div class="oe_form_pager" t-if="view.flags.pager !== false">
249             <button type="button" data-pager-action="first">First</button>
250             <button type="button" data-pager-action="previous">&lt;&lt;</button>
251
252             <span class="oe_pager_index">0</span> / <span class="oe_pager_count">0</span>
253
254             <button type="button" data-pager-action="next">&gt;&gt;</button>
255             <button type="button" data-pager-action="last">Last</button>
256         </div>
257     </div>
258     <t t-raw="frame.render()"/>
259 </t>
260 <t t-name="Widget">
261     Unhandled widget
262     <t t-raw="console.log('Unhandled widget', widget)"/>
263 </t>
264 <t t-name="WidgetFrame">
265     <table border="0" width="100%" cellpadding="2" cellspacing="2" class="oe_frame">
266     <tr t-foreach="widget.table" t-as="row">
267         <t t-foreach="row" t-as="td">
268             <td t-att-colspan="td.colspan gt 1 ? td.colspan : undefined"
269                 t-att-width="td.width ? td.width : undefined"
270                 t-att-nowrap="td.is_field_label or td.is_field_m2o? 'true' : undefined"
271                 t-att-valign="td.table ? 'top' : undefined"
272                 t-att-id="td.element_id"
273                 t-att-class="'oe_form_' + (td.is_field_label ? 'label' : (td.field ? 'field_' + td.type : td.type))"
274             >
275                 <t t-raw="td.render()"/>
276             </td>
277         </t>
278     </tr>
279     </table>
280 </t>
281 <t t-name="WidgetNotebook">
282     <ul>
283         <li t-foreach="widget.pages" t-as="page">
284             <a t-att-href="'#' + widget.element_id + '-' + page_index">
285                 <t t-esc="page.string"/>
286             </a>
287         </li>
288     </ul>
289     <t t-foreach="widget.pages" t-as="page">
290         <div t-att-id="widget.element_id + '-' + page_index">
291             <t t-raw="page.render()"/>
292         </div>
293     </t>
294 </t>
295 <t t-name="WidgetSeparator">
296     <div t-att-class="'separator ' + (widget.node.attrs.orientation || 'horizontal')">
297         <t t-esc="widget.string"/>
298     </div>
299 </t>
300 <t t-name="WidgetLabel">
301     <label t-att-for="widget.element_id + '_field'"
302            t-att-class="'oe_form_label' + (widget.help ? '_help' : '')"
303            t-att-title="widget.help"
304            t-att-ondblclick="'console.log(\'' + widget.element_id + '\', openerp.screen.' + widget.element_id + ')'">
305         <t t-esc="widget.string"/>
306         <span t-if="widget.help">?</span>
307         <t t-if="widget.string and widget.node.tag != 'label'">:</t>
308     </label>
309 </t>
310 <t t-name="FieldChar">
311     <input type="text"
312         t-att-name="widget.name"
313         t-att-id="widget.element_id + '_field'"
314         t-att-class="'field_' + widget.type" style="width: 100%"
315     />
316 </t>
317 <t t-name="FieldEmail">
318     <table cellpadding="0" cellspacing="0" border="0" width="100%">
319     <tr>
320         <td width="100%">
321             <t t-call="FieldChar"/>
322         </td>
323         <td width="16">
324             <button type="button" class="button" title="Send an e-mail with your default e-mail client">
325                 <img src="/base/static/src/img/icons/terp-mail-message-new.png"/>
326             </button>
327         </td>
328     </tr>
329     </table>
330 </t>
331 <t t-name="FieldUrl">
332     <table cellpadding="0" cellspacing="0" border="0" width="100%">
333     <tr>
334         <td width="100%">
335             <t t-call="FieldChar"/>
336         </td>
337         <td width="16">
338             <button type="button" class="button" title="Open this resource">
339                 <img src="/base/static/src/img/icons/gtk-ok.png"/>
340             </button>
341         </td>
342     </tr>
343     </table>
344 </t>
345 <t t-name="FieldText">
346     <textarea rows="6" style="width: 100%;"
347         t-att-name="widget.name"
348         t-att-id="widget.element_id + '_field'"
349         t-att-class="'field_' + widget.type"
350     ></textarea>
351 </t>
352 <t t-name="FieldDate">
353     <input type="text" style="width: 100%"
354         t-att-name="widget.name"
355         t-att-id="widget.element_id + '_field'"
356         t-att-class="'field_' + widget.type"
357     />
358 </t>
359 <t t-name="FieldSelection">
360     <select
361         t-att-name="widget.name"
362         t-att-id="widget.element_id + '_field'"
363         t-att-class="'field_' + widget.type"
364         style="width: 100%">
365             <t t-foreach="widget.field.selection" t-as="options">
366                 <option t-att-value="options[0]">
367                     <t t-esc="options[1]"/>
368                 </option>
369             </t>
370     </select>
371 </t>
372 <t t-name="FieldMany2One">
373     <input type="text"
374         t-att-name="widget.name"
375         t-att-id="widget.element_id + '_field'"
376         t-att-class="'field_' + widget.type"
377         t-att-type="widget.type"
378         style="width: 100%;"/>
379     <div type='button' class='ui_combo' tabindex="'-1'" title="'Show All Items'"></div>
380 </t>
381 <t t-name="FieldOne2Many">
382     <div t-att-id="widget.element_id">
383         One2Many widget
384     </div>
385 </t>
386 <t t-name="FieldMany2Many">
387     <div t-att-id="widget.list_id"></div>
388 </t>
389 <t t-name="FieldReference">
390     <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"/>
391 </t>
392 <t t-name="FieldBoolean">
393     <input type="checkbox"
394         t-att-name="widget.name"
395         t-att-id="widget.element_id + '_field'"
396         t-att-class="'field_' + widget.type"/>
397 </t>
398 <t t-name="FieldProgressBar">
399     <div t-opentag="true" class="oe-progressbar">
400         <span></span>
401     </div>
402 </t>
403 <t t-name="FieldBinaryImage">
404     <table cellpadding="0" cellspacing="0" border="0">
405     <tr>
406         <td align="center">
407             <img src="/base/static/src/img/placeholder.png" class="oe-binary-image" border="1"
408                 t-att-id="widget.element_id + '_field'"
409                 t-att-name="widget.name"
410                 t-att-class="'field_' + widget.type"
411                 t-att-width="widget.node.attrs.img_width || widget.node.attrs.width"
412                 t-att-height="widget.node.attrs.img_height || widget.node.attrs.height"
413             />
414         </td>
415     </tr>
416     <tr>
417         <td align="center" valign="bottom" height="25">
418             <div class="oe-binary">
419                 <!-- TODO: input@type=file inside a button won't work in firefox. Use links instead -->
420                 <button class="button oe-binary-file-set" type="button" title="Set Image">
421                     <img src="/base/static/src/img/icons/STOCK_DIRECTORY.png"/>
422                     <form class="oe-binary-form" t-att-target="widget.iframe"
423                             method="post" enctype="multipart/form-data" action="/base/formview/upload">
424                         <input type="hidden" name="session_id" value=""/>
425                         <input type="hidden" name="callback" t-att-value="widget.iframe"/>
426                         <input type="file" class="oe-binary-file" name="ufile"/>
427                     </form>
428                 </button>
429                 <button class="button oe-binary-file-save" type="button" title="Save As">
430                     <img src="/base/static/src/img/icons/gtk-save.png"/>
431                 </button>
432                 <button class="button oe-binary-file-clear" type="button" title="Clear">
433                     <img src="/base/static/src/img/icons/STOCK_MISSING_IMAGE.png"/>
434                 </button>
435             </div>
436             <div class="oe-binary-progress" style="display: none">
437                 <img src="/base/static/src/img/throbber.gif" width="16" height="16"/>
438                 <b>Uploading ...</b>
439             </div>
440             <iframe t-att-id="widget.iframe" t-att-name="widget.iframe" style="display: none"> </iframe>
441         </td>
442     </tr>
443     </table>
444 </t>
445 <t t-name="FieldBinaryFile">
446     <table cellpadding="0" cellspacing="0" border="0" width="100%">
447     <tr>
448         <td width="100%">
449             <input type="text"
450                 t-att-name="widget.name"
451                 t-att-id="widget.element_id + '_field'"
452                 t-att-class="'field_' + widget.type" style="width: 100%"
453             />
454         </td>
455         <td class="oe-binary" nowrap="true">
456             <!-- TODO: input@type=file inside a button won't work in firefox. Use links instead -->
457             <button class="button oe-binary-file-set" type="button" title="Select file">
458                 <img src="/base/static/src/img/icons/STOCK_DIRECTORY.png"/>
459                 <span>Select</span>
460                 <form class="oe-binary-form" t-att-target="widget.iframe"
461                         method="post" enctype="multipart/form-data" action="/base/formview/upload">
462                     <input type="hidden" name="session_id" value=""/>
463                     <input type="hidden" name="callback" t-att-value="widget.iframe"/>
464                     <input type="file" class="oe-binary-file" name="ufile"/>
465                 </form>
466             </button>
467             <button class="button oe-binary-file-save" type="button" title="Save As">
468                 <img src="/base/static/src/img/icons/gtk-save.png"/>
469                 <span>Save As</span>
470             </button>
471             <button class="button oe-binary-file-clear" type="button" title="Clear">
472                 <img src="/base/static/src/img/icons/STOCK_MISSING_IMAGE.png"/>
473                 <span>Clear</span>
474             </button>
475         </td>
476         <td class="oe-binary-progress" style="display: none" nowrap="true">
477             <img src="/base/static/src/img/throbber.gif" width="16" height="16"/>
478             <b>Uploading ...</b>
479             <iframe t-att-id="widget.iframe" t-att-name="widget.iframe" style="display: none"> </iframe>
480         </td>
481     </tr>
482     </table>
483 </t>
484 <t t-name="WidgetButton">
485     <button type="button"
486         t-att-id="widget.element_id + '_button'"
487         t-att-title="widget.help"
488         style="width: 100%" class="button">
489         <img t-if="widget.node.attrs.icon" t-att-src="'/base/static/src/img/icons/' + widget.node.attrs.icon + '.png'" width="16" height="16"/>
490         <span t-if="widget.string"><t t-esc="widget.string"/></span>
491     </button>
492 </t>
493 <t t-name="SearchView">
494     <h2 class="oe_view_title"><t t-esc="view.attrs['string']"/></h2>
495     <form>
496         <t t-call="SearchView.render_lines"/>
497         <div class="oe_search-view-buttons" style="text-align: right;">
498             <input type="submit" value="Search"/>
499             <input type="reset" value="Clear"/>
500         </div>
501     </form>
502 </t>
503 <t t-name="SearchView.render_lines">
504     <table class="oe-searchview-render-line" border="0" cellspacing="0" cellpadding="0"
505            t-foreach="lines" t-as="line">
506         <tr>
507             <td t-foreach="line" t-as="widget">
508                 <t t-raw="widget.render(defaults)"/>
509             </td>
510         </tr>
511     </table>
512 </t>
513 <button t-name="SearchView.filter" type="button"
514         t-att-id="element_id"
515         t-att-title="attrs.help"
516         t-att-class="classes.join(' ')"
517         t-att-autofocus="attrs.default_focus === '1' ? 'autofocus' : undefined">
518     <img t-if="attrs.icon" t-att-src="'/base/static/src/img/icons/' + attrs.icon + '.png'" width="16" height="16"/>
519     <br t-if="attrs.icon and attrs.string"/>
520     <t t-esc="attrs.string"/>
521 </button>
522 <span t-name="SearchView.filters" class="filter_label_group"
523     ><t t-foreach="filters" t-as="filter"
524         ><t t-raw="filter.render(defaults)"/></t
525 ></span>
526 <t t-name="SearchView.field">
527     <label style="display: block" t-att-title="attrs.help"
528            t-att-for="element_id">
529         <t t-esc="attrs.string || attrs.name"/>
530         <span t-if="attrs.help">(?)</span>
531     </label>
532     <div style="white-space: nowrap;">
533         <input type="text" size="15" t-att-name="attrs.name"
534                t-att-autofocus="attrs.default_focus === '1' ? 'autofocus' : undefined"
535                t-att-id="element_id"
536                t-att-value="defaults[attrs.name] || ''"/>
537         <t t-if="filters.length" t-raw="filters.render(defaults)"/>
538     </div>
539 </t>
540 <t t-name="SearchView.fields.date">
541     <label style="display: block" t-att-title="attrs.help"
542            t-att-for="element_id">
543         <t t-esc="attrs.string || attrs.name"/>
544         <span t-if="attrs.help">(?)</span>
545     </label>
546     <div style="white-space: nowrap;" t-att-id="element_id">
547         <input t-att-name="attrs.name" type="text" class="field_date"
548                t-att-value="defaults[attrs.name] || ''"
549                t-att-autofocus="attrs.default_focus === '1' ? 'autofocus' : undefined"/>
550         to
551         <input t-att-name="attrs.name" type="text" class="field_date"
552                t-att-value="defaults[attrs.name] || ''"/>
553         <t t-if="filters.length" t-raw="filters.render(defaults)"/>
554     </div>
555 </t>
556 <t t-name="SearchView.field.selection">
557     <label style="display: block" t-att-title="attrs.help"
558            t-att-for="element_id">
559         <t t-esc="attrs.string || attrs.name"/>
560         <span t-if="attrs.help">(?)</span>
561     </label>
562     <div style="white-space: nowrap;">
563         <select t-att-name="attrs.name" t-att-id="element_id"
564                 t-att-autofocus="attrs.default_focus === '1' || undefined">
565             <option/>
566             <t t-foreach="attrs.selection" t-as="option">
567                 <t t-set="selected" t-value="defaults[attrs.name] === option[0]"/>
568                 <option t-if="selected"
569                         t-att-value="option[0]" selected="selected">
570                     <t t-esc="option[1]"/>
571                 </option>
572                 <option t-if="!selected" t-att-value="option[0]">
573                     <t t-esc="option[1]"/>
574                 </option>
575             </t>
576         </select>
577         <t t-if="filters.length" t-raw="filters.render(defaults)"/>
578     </div>
579 </t>
580 <t t-name="SearchView.util.expand">
581     <div t-att-class="'searchview_group ' + (expand == '0' ? 'folded' : 'expanded')"
582          t-att-id="element_id">
583         <a t-if="label" class="searchview_group_string" href="#">
584             <t t-esc="label"/>
585         </a>
586         <div class="searchview_group_content">
587             <t t-raw="content"/>
588         </div>
589     </div>
590 </t>
591 <t t-name="SearchView.group">
592     <t t-call="SearchView.util.expand">
593         <t t-set="expand" t-value="attrs.expand"/>
594         <t t-set="label" t-value="attrs.string"/>
595         <t t-set="content">
596             <t t-call="SearchView.render_lines"/>
597         </t>
598     </t>
599 </t>
600 <t t-name="SearchView.extended_search">
601     <t t-call="SearchView.util.expand">
602         <t t-set="expand" t-value="false"/>
603         <t t-set="label" t-value="'Custom Filters'"/>
604         <t t-set="content">
605             <div class="searchview_extended_groups_list">
606             </div>
607             <button class="searchview_extended_add_group"
608                     type="button"><span>Add group of conditions</span></button>
609         </t>
610     </t>
611 </t>
612 <t t-name="SearchView.extended_search.group">
613     <div t-att-id="element_id" class="searchview_extended_group">
614         <select class="searchview_extended_group_choice">
615             <option value="all">All the following conditions must match</option>
616             <option value="any">Any of the following conditions must match</option>
617             <option value="none">None of the following conditions must match</option>
618         </select>
619         <button class="searchview_extended_delete_group"
620                 type="button"><span>Delete this group of conditions</span></button>
621         <div class="searchview_extended_propositions_list">
622         </div>
623         <button class="searchview_extended_add_proposition" type="button"><span>Add condition</span></button>
624     </div>
625 </t>
626 <t t-name="SearchView.extended_search.proposition">
627     <div t-att-id="element_id">
628         <select class="searchview_extended_prop_field">
629             <t t-foreach="attrs.fields" t-as="field">
630                 <option t-att="{'selected': field === attrs.selected ? 'selected' : null}"
631                         t-att-value="field.name">
632                     <t t-esc="field.string"/>
633                 </option>
634             </t>
635         </select>
636         <select class="searchview_extended_prop_op"/>
637         <span class="searchview_extended_prop_value"/>
638         <button class="searchview_extended_delete_prop"
639                 type="button"><span>Delete this condition</span></button>
640     </div>
641 </t>
642 <t t-name="SearchView.extended_search.proposition.char">
643     <input t-att-id="element_id" class="field_char"/>
644 </t>
645 <t t-name="SearchView.extended_search.proposition.datetime">
646     <input t-att-id="element_id" class="field_datetime"/>
647 </t>
648 <t t-name="SearchView.extended_search.proposition.date">
649     <input t-att-id="element_id" class="field_date"/>
650 </t>
651 <t t-name="SearchView.extended_search.proposition.integer">
652     <input type="number" t-att-id="element_id" class="field_integer" step="1"/>
653 </t>
654 <t t-name="SearchView.extended_search.proposition.float">
655     <input type="number" t-att-id="element_id" class="field_float" step="0.01"/>
656 </t>
657 <t t-name="ViewManager.sidebar">
658     <div t-att-id="element_id" class="sidebar-main-div closed-sidebar">
659
660     </div>
661 </t>
662 <t t-name="ViewManager.sidebar.internal">
663     <a class="toggle-sidebar"></a>
664     <div t-att-id="element_id" class="sidebar-sub-div">
665         <div class="sidebar-displaying-div">
666             <t t-set="i" t-value="1-1"/> <!-- al do stupid things -->
667             <t t-foreach="sections" t-as="section">
668                 <t t-if="section.elements.length &gt; 0">
669                 <h2><t t-esc="section.label"/></h2>
670                 <ul>
671                     <t t-set="j" t-value="1-1"/>
672                     <t t-foreach="section.elements" t-as="element">
673                         <li><a class="oe_sidebar_action_a" t-att-data-i="i" t-att-data-j="j" href="#">
674                             <t t-esc="element.name"/></a></li>
675                         <t t-set="j" t-value="j+1"/>
676                     </t>
677                 </ul>
678                 </t>
679                 <t t-set="i" t-value="i+1"/>
680             </t>
681         </div>
682     </div>
683 </t>
684 <t t-name="DialogWarning">
685     <div id="dialog-message" t-att-title="title">
686         <p>
687             <span class="ui-icon ui-icon-circle-check" style="float:left; margin:0 7px 50px 0;"></span>
688             <t t-esc="message"/>
689         </p>
690     </div>
691 </t>
692 <t t-name="Many2XSelectPopup">
693     <div t-att-id="element_id">
694         <div t-att-id="element_id + '_search'"></div>
695         <div t-att-id="element_id + '_view_list'"></div>
696         <div t-att-id="element_id + '_view_form'"></div>
697     </div>
698 </t>
699 <t t-name="Many2XSelectPopup.search.buttons">
700     <button type="button" class="oe_many2xselectpopup-search-new">New</button>
701     <button type="button" class="oe_many2xselectpopup-search-close">Close</button>
702 </t>
703 <t t-name="Many2XSelectPopup.form.buttons">
704     <button type="button" class="oe_many2xselectpopup-form-save">Save</button>
705     <button type="button" class="oe_many2xselectpopup-form-close">Close</button>
706 </t>
707 </templates>