[imp] first version of the help page
[odoo/odoo.git] / addons / web / 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     <table border="0" cellpadding="0" cellspacing="0" width="100%" height="100%" class="main_table">
21     <tr>
22         <td colspan="2" valign="top">
23             <div id="oe_header" class="header"></div>
24             <div id="oe_menu" class="menu"></div>
25         </td>
26     </tr>
27     <tr>
28         <td valign="top" class="login-container" colspan="2">
29             <div id="oe_login" class="login"></div>
30         </td>
31     </tr>
32     <tr class="db_options_row">
33         <td valign="top" class="db_container">
34             <div id="oe_database" class="database"></div>
35         </td>
36         <td valign="top">
37                 <div id="oe_db_options"></div>
38         </td>
39     </tr>
40     <tr>
41         <td valign="top" id="oe_secondary_menu" class="secondary_menu">
42         </td>
43         <td valign="top">
44             <div id="oe_app" class="oe-application">
45             </div>
46         </td>
47     </tr>
48     <tr>
49         <td colspan="2">
50             <div id="oe_footer" class="oe_footer">
51                 <p class="oe_footer_powered">Powered by <a href="http://www.openerp.com">openerp.com</a>.</p>
52             </div>
53         </td>
54     </tr>
55     </table>
56 </t>
57 <t t-name="Loading">
58     Loading...
59 </t>
60 <t t-name="Database">
61     <ul class="db_options" style="padding: 0px; display: inline;">
62         <li id="db-create">Create</li>
63         <li id="db-drop">Drop</li>
64         <li id="db-backup">Backup</li>
65         <li id="db-restore">Restore</li>
66         <li id="db-change-password">Password</li>
67         <li id="back-to-login">Back to Login</li>
68     </ul>
69 </t>
70 <t t-name="Database.CreateDB">
71     <form name="create_db_form" class="oe_forms" method="POST">
72         <table width="100%">
73             <tr>
74                 <td class="option_string">
75                     CREATE DATABASE
76                 </td>
77             </tr>
78         </table>
79         <table align="center" class="db_option_table">
80             <tr>
81                 <td><label for="super_admin_pwd">Master password:</label></td>
82                 <td><input type="password" name="super_admin_pwd" class="required" value="admin"/></td>
83             </tr>
84             <tr>
85                 <td><label for="db_name">New database name:</label></td>
86                 <td><input type="text" name="db_name" class="required"/></td>
87             </tr>
88             <tr>
89                 <td><label for="demo_data">Load Demonstration data:</label></td>
90                 <td><input type="checkbox" name="demo_data"/></td>
91             </tr>
92             <tr>
93                 <td><label for="db_lang">Default language:</label></td>
94                 <td>
95                     <select name="db_lang" t-if="lang_list">
96                         <t t-foreach="lang_list" t-as="lang">
97                             <option t-att-value="lang[0]" t-att-selected="lang[0] === 'en_US' ? 'selected' : undefined"><t t-esc="lang[1]"/></option>
98                         </t>
99                     </select>
100                 </td>
101             </tr>
102             <tr>
103                 <td><label for="create_admin_pwd">Admin password:</label></td>
104                 <td><input type="password" name="create_admin_pwd" class="required"/></td>
105             </tr>
106             <tr>
107                 <td><label for="create_confirm_pwd">Confirm password:</label></td>
108                 <td><input type="password" name="create_confirm_pwd" class="required"
109                            equalTo="input[name=create_admin_pwd]"/></td>
110             </tr>
111             <tr>
112                 <td colspan="2" align="right"><input type="submit" value="Create"/></td>
113             </tr>
114         </table>
115     </form>
116 </t>
117 <t t-name="DropDB">
118     <form name="drop_db_form" class="oe_forms" method="POST">
119         <table width="100%">
120             <tr>
121                 <td class="option_string">
122                     DROP DATABASE
123                 </td>
124             </tr>
125         </table>
126         <table align="center" class="db_option_table">
127             <tr>
128                 <td><label for="drop_db">Database:</label></td>
129                 <td>
130                     <select t-if="db_list" name="drop_db" autofocus="autofocus">
131                         <t t-foreach="db_list" t-as="db">
132                             <option t-att-value="db"><t t-esc="db"/></option>
133                         </t>
134                     </select>
135                 </td>
136             </tr>
137             <tr>
138                 <td><label for="drop_password">Master Password:</label></td>
139                 <td><input type="password" name="drop_pwd" class="required"/></td>
140             </tr>
141             <tr>
142                 <td colspan="2" align="right"><input type="submit" value="Drop"/></td>
143             </tr>
144         </table>
145     </form>
146 </t>
147 <t t-name="BackupDB">
148     <form name="backup_db_form" class="oe_forms" method="POST" target="backup-target"
149           action="/web/database/backup">
150         <input type="hidden" name="token"/>
151         <table width="100%">
152             <tr>
153                 <td class="option_string">
154                     BACKUP DATABASE
155                 </td>
156             </tr>
157         </table>
158         <table align="center" class="db_option_table">
159             <tr>
160                 <td><label for="backup_db">Database:</label></td>
161                 <td>
162                     <select t-if="db_list" name="backup_db" autofocus="autofocus">
163                         <t t-foreach="db_list" t-as="db">
164                             <option t-att-value="db"><t t-esc="db"/></option>
165                         </t>
166                     </select>
167                 </td>
168             </tr>
169             <tr>
170                 <td><label for="backup_pwd">Master Password:</label></td>
171                 <td><input type="password" name="backup_pwd" class="required"/></td>
172             </tr>
173             <tr>
174                 <td colspan="2" align="right"><input type="submit" value="Backup"/></td>
175             </tr>
176         </table>
177     </form>
178 </t>
179 <t t-name="RestoreDB">
180     <form name="restore_db_form" class="oe_forms" method="POST">
181         <table width="100%">
182             <tr>
183                 <td class="option_string">
184                     RESTORE DATABASE
185                 </td>
186             </tr>
187         </table>
188         <table align="center" class="db_option_table">
189             <tr>
190                 <td><label for="restore_db">File:</label></td>
191                 <td><input type="file" name="db_file" class="required"
192                          autofocus="autofocus"/></td>
193             </tr>
194             <tr>
195                 <td><label for="restore_pwd">Master Password:</label></td>
196                 <td><input type="password" name="restore_pwd" class="required"/></td>
197             </tr>
198         <tr>
199                 <td><label for="new_db">New database name:</label></td>
200                 <td><input type="text" name="new_db" class="required"/></td>
201             </tr>
202         <tr>
203             <td colspan="2" align="right"><input type="submit" value="Restore"/></td>
204             </tr>
205         </table>
206     </form>
207 </t>
208 <t t-name="Change_DB_Pwd">
209     <form name="change_pwd_form" class="oe_forms" method="POST">
210         <table width="100%">
211             <tr>
212                 <td class="option_string">
213                     CHANGE MASTER PASSWORD
214                 </td>
215             </tr>
216         </table>
217         <table align="center" class="db_option_table">
218             <tr>
219                 <td><label for="old_pwd">Master password:</label></td>
220                 <td><input type="password" name="old_pwd" class="required"
221                            minlength="1" autofocus="autofocus"/></td>
222             </tr>
223             <tr>
224             <td><label for="new_pwd">New master password:</label></td>
225             <td><input type="password" name="new_pwd" class="required"
226                        minlength="1"/></td>
227             </tr>
228             <tr>
229                 <td><label for="confirm_pwd">Confirm new master password:</label></td>
230                 <td><input type="password" name="confirm_pwd" class="required"
231                            equalTo="input[name=new_pwd]" minlength="1"/></td>
232             </tr>
233             <tr>
234                 <td colspan="2" align="right"><input type="submit" value="Change Password"/></td>
235             </tr>
236         </table>
237     </form>
238 </t>
239 <t t-name="Login">
240     <form class="oe_forms">
241         <fieldset>
242             <legend style="">
243                 <img src="/web/static/src/img/stock_person.png" alt="" />
244             </legend>
245             <div class="oe_box2">
246                 <table align="center" cellspacing="2px" cellpadding="0">
247                     <tr>
248                         <td><label for="db">Database:</label></td>
249                         <td>
250                             <t t-if="!db_list">
251                                 <input type="text" name="db" t-att-value="selected_db || ''" autofocus="true"/>
252                             </t>
253                             <t t-if="db_list">
254                                 <select name="db">
255                                     <t t-foreach="db_list" t-as="db">
256                                         <t t-if="selected_db === db">
257                                             <option t-att-value="db" selected="true">
258                                                 <t t-esc="db"/></option>
259                                         </t>
260                                         <t t-if="selected_db !== db">
261                                             <option t-att-value="db"><t t-esc="db"/></option>
262                                         </t>
263                                     </t>
264                                 </select>
265                             </t>
266                         </td>
267                     </tr>
268                     <tr>
269                         <td><label for="login">User:</label></td>
270                         <td><input type="text" name="login"
271                             t-att-value="selected_login || ''" autofocus="true"/></td>
272                     </tr>
273                     <tr>
274                         <td><label for="password">Password:</label></td>
275                         <td><input type="password" name="password"
276                                 t-att-value="selected_password || ''"/></td>
277                     </tr>
278                     <tr>
279                         <td></td>
280                         <td>
281                                 <button type="button" id="oe-db-config">Database</button>
282                             <button type="submit" name="submit">Login</button>
283                         </td>
284                     </tr>
285                 </table>
286             </div>
287         </fieldset>
288         <div class="login_error_message">Bad username or password</div>
289     </form>
290     <div class="oe_login_right_pane">
291         <p>We think that daily job activities can be more intuitive, efficient, automated, .. and even fun.</p>
292         <h3>OpenERP's vision to be:</h3>
293
294         <table cellpadding="0" cellspacing="0" width="100%" style="border:none;">
295             <tbody>
296             <tr>
297                 <td>
298                     <img src="/web/static/src/img/product.png"/>
299                 </td>
300                 <td>
301                     <strong>Full featured</strong><br />
302                     Today's enterprise challenges are multiple. We provide one module for each need.
303                 </td>
304             </tr>
305             <tr>
306                 <td>
307                     <img src="/web/static/src/img/accessories-archiver.png"/>
308                 </td>
309                 <td>
310                     <strong>Open Source</strong><br />
311                     To Build a great product, we rely on the knowledge of thousands of contributors.
312                 </td>
313             </tr>
314             <tr>
315                 <td>
316                     <img src="/web/static/src/img/partner.png" />
317                 </td>
318                 <td>
319                     <strong>User Friendly</strong><br />
320                     In order to be productive, people need clean and easy to use interface.
321                 </td>
322             </tr>
323             </tbody>
324         </table>
325
326     </div>
327 </t>
328 <t t-name="Header">
329     <div>
330         <a t-att-href="'/' + widget.qs" class="company_logo_link">
331             <div class="company_logo" />
332         </a>
333     </div>
334 </t>
335 <t t-name="Header-content">
336     <h1 class="header_title">
337         <t t-esc="user.company_id[1]"/> (<t t-esc="widget.session.db"/>)<br/>
338         <small class="username"><t t-esc="user.name"/></small>
339     </h1>
340     <div class="header_corner">
341         <ul class="block">
342             <li>
343                 <a t-att-href="'/' + widget.qs" title="Home" class="home"><img src="/web/static/src/img/header-home.png" width="16" height="16" border="0"/></a>
344             </li>
345             <!--
346             <li>
347                 <a href="#requests" title="Requests" class="requests"><img src="/web/static/src/img/header-requests.png" width="16" height="16" border="0"/><small>1</small></a>
348             </li>
349             -->
350             <li class="preferences">
351                 <a href="#preferences" title="Preferences" class="preferences"><img src="/web/static/src/img/header-preferences.png" width="16" height="16" border="0"/></a>
352             </li>
353             <li>
354                 <a href="#about" title="About" class="about"><img src="/web/static/src/img/header-about.png" width="16" height="16" border="0"/></a>
355             </li>
356             <!--
357             <li>
358                 <a href="http://doc.openerp.com/v6.0/book?version=$version" title="Help" target="_blank" class="help"><img src="/web/static/src/img/header-help.png" width="16" height="16" border="0"/></a>
359             </li>
360             -->
361         </ul>
362         <div class="block">
363             <a href="#logout" class="logout">LOGOUT</a>
364         </div>
365
366     </div>
367     <div class="oe-shortcuts"> </div>
368 </t>
369 <ul t-name="Shortcuts">
370     <li t-foreach="shortcuts" t-as="shortcut"
371             t-att-data-id="shortcut.res_id"
372             t-att-data-shortcut-id="shortcut.id"
373         ><t t-esc="shortcut.name"/></li>
374 </ul>
375 <t t-name="Menu">
376     <table align="center">
377         <tr>
378         <t t-foreach="data.children" t-as="menu">
379             <td>
380                 <a href="#" t-att-data-menu="menu.id">
381                     <t t-esc="menu.name"/>
382                 </a>
383             </td>
384         </t>
385         </tr>
386     </table>
387 </t>
388 <t t-name="Menu.secondary">
389     <div style="display: none" class="menu_accordion" t-att-data-menu-parent="menu.id">
390         <t t-foreach="menu.children" t-as="menu">
391             <t t-set="header">h3</t>
392             <t t-call="Menu.secondary.children"/>
393         </t>
394     </div>
395 </t>
396 <t t-name="Menu.secondary.children">
397     &lt;<t t-esc="header"/>&gt;
398         <a href="#" t-attf-id="menu_#{menu.id}">
399             <span><t t-esc="menu.name"/></span>
400         </a>
401     &lt;/<t t-esc="header"/>&gt;
402     <div class="menu_content">
403         <t t-foreach="menu.children" t-as="menu">
404             <t t-if="!menu.children.length">
405                 <a href="#" class="leaf" t-att-data-menu="menu.id">
406                     <span><t t-esc="menu.name"/></span>
407                 </a>
408             </t>
409             <t t-if="menu.children.length">
410                 <div class="submenu_accordion">
411                     <t t-call="Menu.secondary.children">
412                         <t t-set="header">h4</t>
413                     </t>
414                 </div>
415             </t>
416         </t>
417     </div>
418 </t>
419 <t t-name="ViewManager">
420     <table class="view-manager-main-table">
421     <tr>
422         <td class="view-manager-main-content">
423             <a class="oe-shortcut-toggle" title="Add / Remove Shortcut..."
424                href="javascript: void(0)"> </a>
425             <div class="oe_vm_switch">
426                 <t t-if="views.length != 1" t-foreach="views" t-as="view">
427                     <button type="button" t-att-data-view-type="view.view_type">
428                         <t t-esc="view.view_type"/>
429                     </button>
430                 </t>
431             </div>
432             <div t-attf-id="#{prefix}_search" t-opentag="true"/>
433             <t t-foreach="views" t-as="view">
434                 <div t-attf-id="#{prefix}_view_#{view.view_type}"/>
435             </t>
436         </td>
437         <td class="view-manager-main-sidebar" height="100%">
438             <t t-foreach="views" t-as="view">
439                 <div t-attf-id="#{prefix}_sidebar_#{view.view_type}" class="sidebar-main-div closed-sidebar" style="display: none"/>
440             </t>
441         </td>
442     </tr>
443     </table>
444 </t>
445 <t t-name="Sidebar">
446     <a class="toggle-sidebar"></a>
447     <div class="sidebar-content">
448         <div class="sidebar-actions">
449         </div>
450     </div>
451 </t>
452 <t t-name="Sidebar.section">
453     <h2><t t-esc="name"/></h2>
454     <div t-att-id="section_id" t-att-class="classname">
455         <ul t-if="items">
456             <li t-foreach="items" t-as="item" t-att-class="item.classname">
457                 <a class="oe_sidebar_action_a" t-att-id="item.element_id" t-att-title="item.title" href="#">
458                     <t t-esc="item.label"/>
459                 </a>
460             </li>
461         </ul>
462     </div>
463 </t>
464 <t t-name="TranslateDialog">
465     <ul class="oe_translate_tabs">
466         <li><a t-attf-href="##{widget.element_id}_fields">Fields</a></li>
467         <li><a t-attf-href="##{widget.element_id}_view">View labels</a></li>
468         <li><a t-attf-href="##{widget.element_id}_sidebar">Sidebar Relates</a></li>
469     </ul>
470     <div t-attf-id="#{widget.element_id}_fields">
471         <table t-if="widget.view.translatable_fields" class="oe_frame oe_forms oe_translation_form" border="0" cellpadding="0" cellspacing="0" width="100%">
472         <tr>
473             <td class="oe_form_separator" width="1%" nowrap="nowrap">
474                 <div class="separator horizontal">Field</div>
475             </td>
476             <th t-foreach="widget.languages" align="left">
477                 <div class="separator horizontal"><t t-esc="name"/></div>
478             </th>
479         </tr>
480         <tr t-foreach="widget.view.translatable_fields" t-as="field">
481             <td class="oe_form_frame_cell" width="1%" nowrap="nowrap">
482                 <label class="oe_label"><t t-esc="field.string"/>:</label>
483             </td>
484             <td t-foreach="widget.languages" t-as="lg" class="oe_form_frame_cell">
485                 <input t-if="field.type == 'char'" type="text" t-attf-name="#{lg.code}-#{field.name}" value="" data-value="" class="oe_trad_field" style="width: 100%"/>
486                 <textarea t-if="field.type == 'text'" t-attf-name="#{lg.code}-#{field.name}" data-value="" class="oe_trad_field" style="width: 100%"></textarea>
487             </td>
488         </tr>
489         </table>
490     </div>
491     <div t-attf-id="#{widget.element_id}_view">
492         Translate view
493     </div>
494     <div t-attf-id="#{widget.element_id}_sidebar">
495         Translate sidebar
496     </div>
497 </t>
498 <t t-name="TreeView">
499     <h2 class="oe_view_title"><t t-esc="title"/></h2>
500     <select t-if="toolbar" style="width: 30%">
501     </select>
502     <table class="oe-treeview-table">
503         <thead>
504             <tr>
505                 <th t-foreach="fields_view" t-as="field"
506                     t-if="!field.attrs.modifiers.tree_invisible"
507                     class="treeview-header">
508                     <t t-esc="fields[field.attrs.name].string" />
509                 </th>
510             </tr>
511         </thead>
512         <tbody>
513         </tbody>
514     </table>
515 </t>
516 <tr t-name="TreeView.rows"
517         t-foreach="records" t-as="record"
518         t-att-id="'treerow_' + record.id"
519         t-att-data-id="record.id" t-att-data-level="level + 1">
520     <t t-set="children" t-value="record[children_field]"/>
521     <t t-set="has_children" t-value="children and children.length"/>
522
523     <td t-foreach="fields_view" t-as="field"
524         t-if="!field.attrs.modifiers.tree_invisible"
525         t-att-data-id="record.id"
526         t-att-style="!field_index ? 'background-position: ' + 19*level + 'px; padding-left: ' + 19*level + 'px' : undefined"
527         t-att-class="!field_index and has_children ? 'treeview-tr' : 'treeview-td'">
528         <span t-if="!field.attrs.modifiers.invisible">
529             <t t-esc="render(record[field.attrs.name], fields[field.attrs.name])" />
530         </span>
531     </td>
532 </tr>
533 <table t-name="ListView" class="oe-listview-content">
534     <t t-set="columns_count" t-value="visible_columns.length + (options.selectable ? 1 : 0) + (options.deletable ? 1 : 0)"/>
535     <thead class="ui-widget-header">
536         <tr t-if="options.action_buttons !== false or options.pager !== false">
537             <th t-att-colspan="columns_count">
538                 <table>
539                     <tr>
540                         <td t-if="options.action_buttons !== false" class="oe-actions">
541                             <button type="button" class="oe-list-add"
542                                     t-if="options.addable">
543                                 <t t-esc="options.addable"/>
544                             </button>
545                             <button type="button" class="oe-list-delete"
546                                     t-if="options.selectable and options.deletable">
547                                 Delete
548                             </button>
549                         </td>
550                         <th t-if="options.pager !== false" class="oe-list-pager">
551                             <button type="button" disabled="disabled"
552                                     data-pager-action="first">First</button>
553                             <button type="button" disabled="disabled"
554                                     data-pager-action="previous"
555                                     >&lt;</button>
556
557                             <span class="oe-pager-state">
558                             </span>
559
560                             <button type="button" disabled="disabled"
561                                     data-pager-action="next">&gt;</button>
562                             <button type="button" disabled="disabled"
563                                     data-pager-action="last">Last</button>
564                         </th>
565                     </tr>
566                 </table>
567             </th>
568         </tr>
569         <tr t-if="options.header">
570             <t t-foreach="columns" t-as="column">
571                 <th t-if="column.meta">
572                     <t t-esc="column.string"/>
573                 </th>
574             </t>
575             <th t-if="options.selectable" width="1"/>
576             <t t-foreach="columns" t-as="column">
577                 <th t-if="!column.meta and column.invisible !== '1'" t-att-data-id="column.id"
578                     t-att-class="((options.sortable and column.tag !== 'button') ? 'oe-sortable' : null)">
579                     <t t-if="column.tag !== 'button'"
580                         ><t t-esc="column.string"/></t>
581                 </th>
582             </t>
583             <th t-if="options.deletable" width="1"/>
584         </tr>
585     </thead>
586     <tfoot class="ui-widget-header">
587         <tr>
588             <td t-if="options.selectable"/>
589             <td t-foreach="aggregate_columns" t-as="column" class="oe-list-footer oe-number"
590                 t-att-data-field="column.id" t-att-title="column.label">
591             </td>
592             <td t-if="options.deletable"/>
593         </tr>
594     </tfoot>
595 </table>
596 <t t-name="ListView.rows" t-foreach="records.length" t-as="index">
597     <t t-call="ListView.row">
598         <t t-set="record" t-value="records.at(index)"/>
599         <t t-set="row_parity" t-value="index_parity"/>
600     </t>
601 </t>
602 <tr t-name="ListView.row" t-att-class="row_parity"
603         t-att-data-id="record.get('id')">
604     <t t-foreach="columns" t-as="column">
605         <td t-if="column.meta">
606
607         </td>
608     </t>
609     <th t-if="options.selectable" class="oe-record-selector" width="1">
610         <input type="checkbox"/>
611     </th>
612     <t t-foreach="columns" t-as="column">
613         <t t-set="align" t-value="column.type === 'integer' or column.type == 'float'"/>
614         <td t-if="!column.meta and column.invisible !== '1'" t-att-title="column.help"
615             t-att-class="'oe-field-cell' + (align ? ' oe-number' : '')"
616             t-att-data-field="column.id">
617             <t t-raw="render_cell(record.toForm().data, column)"/>
618         </td>
619     </t>
620     <td t-if="options.deletable" class='oe-record-delete' width="1">
621         <button type="button" name="delete">♻</button>
622     </td>
623 </tr>
624 <t t-name="ListView.row.form">
625     <t t-raw="frame.render()"/>
626 </t>
627 <t t-name="FormView">
628     <div class="oe_form_header" t-att-id="view.element_id + '_header'">
629         <h2 class="oe_view_title"><t t-esc="view.fields_view.arch.attrs.string"/> <button t-if="view.session.debug" class="oe_get_xml_view">View#<t t-esc="view.fields_view.view_id"/></button></h2>
630         <div class="oe_form_buttons" t-if="view.options.action_buttons !== false">
631             <!--<button type="button" class="oe_form_button_save">
632                 <span class="oe_form_on_update">Save</span>
633                 <span class="oe_form_on_create">Create</span>
634             </button>-->
635             <button type="button" class="oe_form_button_save_edit">
636                 <span class="oe_form_on_update">Save &amp; Edit</span>
637                 <span class="oe_form_on_create">Create &amp; Edit</span>
638             </button>
639             <!--<button type="button" class="oe_form_button_cancel">Cancel</button>-->
640             <button type="button" class="oe_form_button_new">New</button>
641         </div>
642         <div class="oe_form_pager" t-if="view.options.pager !== false">
643             <button type="button" data-pager-action="first">First</button>
644             <button type="button" data-pager-action="previous">&lt;&lt;</button>
645
646             <span class="oe_pager_index">0</span> / <span class="oe_pager_count">0</span>
647
648             <button type="button" data-pager-action="next">&gt;&gt;</button>
649             <button type="button" data-pager-action="last">Last</button>
650         </div>
651     </div>
652     <t t-raw="frame.render()"/>
653 </t>
654 <t t-name="FormView.sidebar.attachments">
655     <div class="oe-sidebar-attachments-toolbar">
656         <div class="oe-binary-file-set" style="float: right">
657             <form class="oe-binary-form" t-attf-target="#{element_id}_iframe"
658                 method="post" enctype="multipart/form-data" action="/web/binary/upload_attachment">
659                 <input type="hidden" name="session_id" t-att-value="session.session_id"/>
660                 <input type="hidden" name="callback" t-attf-value="#{element_id}_iframe"/>
661                 <input type="hidden" name="model" t-att-value="view.dataset.model"/>
662                 <input type="hidden" name="id" t-att-value="view.datarecord.id"/>
663                 <button class="button" type="button">
664                     <img src="/web/static/src/img/throbber.gif" width="16" height="16" style="display: none"/>
665                     <span>Add</span>
666                 </button>
667                 <input type="file" class="oe-binary-file" name="ufile" title="Add attachment"
668                     t-att-onclick="view.datarecord.id ? null : 'alert(\'No record selected ! You can only attach to existing record.\'); return false;'"/>
669             </form>
670             <iframe t-attf-id="#{element_id}_iframe" t-attf-name="#{element_id}_iframe" style="display: none"> </iframe>
671         </div>
672     </div>
673     <br style="clear: both"/>
674     <ul class="oe-sidebar-attachments-items">
675         <li t-foreach="attachments" t-as="attachment">
676             <t t-if="attachment.type == 'binary'" t-set="attachment.url" t-value="'/web/binary/saveas?session_id='
677                 + session.session_id + '&amp;model=ir.attachment&amp;id=' + attachment.id
678                 + '&amp;field=datas&amp;fieldname=name&amp;t=' + (new Date().getTime())"/>
679             <a class="oe-sidebar-attachments-link" t-att-href="attachment.url" target="_blank">
680                 <t t-esc="attachment.name"/>
681             </a>
682             <a href="#" class="oe-sidebar-attachment-delete" t-att-data-id="attachment.id" t-attf-title="Delete the attachment #{attachment.name}">
683                 <img src="/web/static/src/img/attachments-close.png" width="15" height="15" border="0"/>
684             </a>
685         </li>
686     </ul>
687 </t>
688 <t t-name="Widget">
689     Unhandled widget
690     <t t-raw="console.log('Unhandled widget', widget)"/>
691 </t>
692 <t t-name="WidgetFrame">
693     <table border="0" width="100%" cellpadding="0" cellspacing="0" class="oe_frame oe_forms">
694     <tr t-foreach="widget.table" t-as="row">
695         <t t-foreach="row" t-as="td">
696             <td t-att-colspan="td.colspan gt 1 ? td.colspan : undefined"
697                 t-att-width="td.width"
698                 t-att-nowrap="td.nowrap or td.is_field_m2o? 'true' : undefined"
699                 t-att-valign="td.table ? 'top' : undefined"
700                 t-att-id="td.element_id"
701                 t-attf-class="oe_form_frame_cell #{td.classname}"
702             >
703                 <t t-raw="td.render()"/>
704             </td>
705         </t>
706     </tr>
707     </table>
708 </t>
709 <t t-name="WidgetNotebook">
710     <ul>
711         <li t-foreach="widget.pages" t-as="page" t-att-id="page.element_tab_id">
712             <a t-att-href="'#' + page.element_id">
713                 <t t-esc="page.string"/>
714             </a>
715         </li>
716     </ul>
717     <t t-foreach="widget.pages" t-as="page">
718         <t t-raw="page.render()"/>
719     </t>
720 </t>
721 <t t-name="WidgetNotebookPage">
722     <div t-att-id="widget.element_id">
723         <t t-call="WidgetFrame"/>
724     </div>
725 </t>
726 <t t-name="WidgetSeparator">
727     <div t-if="widget.orientation !== 'vertical'" t-att-class="'separator ' + widget.orientation">
728         <t t-esc="widget.string"/>
729     </div>
730 </t>
731 <t t-name="WidgetLabel">
732     <label t-att-for="widget.element_id + '_field'"
733            t-att-class="'oe_label' + (widget.help ? '_help' : '')"
734            t-att-title="widget.help">
735         <t t-esc="widget.string"/>
736         <span t-if="widget.help">?</span>
737         <t t-if="widget.string and widget.node.tag != 'label'">:</t>
738     </label>
739 </t>
740 <t t-name="WidgetParagraph">
741     <p class="oe_form_paragraph"><t t-esc="widget.string"/></p>
742 </t>
743 <t t-name="FieldChar">
744     <input type="text" size="1"
745         t-att-name="widget.name"
746         t-att-id="widget.element_id + '_field'"
747         t-att-class="'field_' + widget.type"
748         t-attf-style="width: #{widget.field.translate ? '99' : '100'}%"
749     />
750     <img class="oe_field_translate" t-if="widget.field.translate" src="/web/static/src/img/icons/terp-translate.png" width="16" height="16" border="0"/>
751 </t>
752 <t t-name="FieldEmail">
753     <table cellpadding="0" cellspacing="0" border="0" width="100%">
754     <tr>
755         <td width="100%">
756             <t t-call="FieldChar"/>
757         </td>
758         <td width="16">
759             <button type="button" class="button" title="Send an e-mail with your default e-mail client">
760                 <img src="/web/static/src/img/icons/terp-mail-message-new.png"/>
761             </button>
762         </td>
763     </tr>
764     </table>
765 </t>
766 <t t-name="FieldUrl">
767     <table cellpadding="0" cellspacing="0" border="0" width="100%">
768     <tr>
769         <td width="100%">
770             <t t-call="FieldChar"/>
771         </td>
772         <td width="16">
773             <button type="button" class="button" title="Open this resource">
774                 <img src="/web/static/src/img/icons/gtk-ok.png"/>
775             </button>
776         </td>
777     </tr>
778     </table>
779 </t>
780 <t t-name="FieldText">
781     <textarea rows="6"
782         t-att-name="widget.name"
783         t-att-id="widget.element_id + '_field'"
784         t-att-class="'field_' + widget.type"
785         t-attf-style="width: #{widget.field.translate ? '99' : '100'}%"
786     ></textarea>
787     <img class="oe_field_translate" t-if="widget.field.translate" src="/web/static/src/img/icons/terp-translate.png" width="16" height="16" border="0"/>
788 </t>
789 <t t-name="FieldDate">
790     <input type="text" size="1" style="width: 100%"
791         t-att-name="widget.name"
792         t-att-id="widget.element_id + '_field'"
793         t-att-class="'field_' + widget.type"
794     />
795 </t>
796 <t t-name="FieldSelection">
797     <select
798         t-att-name="widget.name"
799         t-att-id="widget.element_id + '_field'"
800         t-att-class="'field_' + widget.type"
801         style="width: 100%">
802             <t t-foreach="widget.field_index" t-as="options">
803                 <option t-att-value="options.ikey">
804                     <t t-esc="options.label"/>
805                 </option>
806             </t>
807     </select>
808 </t>
809 <t t-name="FieldMany2One">
810     <div t-att-id="widget.element_id" class="oe-m2o">
811         <input t-att-id="widget.element_id + '_input'" type="text" size="1" style="width: 100%;"/>
812         <span class="oe-m2o-drop-down-button" t-att-id="widget.element_id + '_drop_down'">
813             <img src="/web/static/src/img/down-arrow.png" /></span>
814         <span class="oe-m2o-cm-button" t-att-id="widget.name + '_open'">
815             <img src="/web/static/src/img/icons/gtk-index.png"/></span>
816         <div t-att-id="widget.cm_id" class="contextMenu" style="display:none">
817         </div>
818     </div>
819 </t>
820 <t t-name="FieldMany2One.context_menu">
821     <ul>
822         <li t-att-id="widget.cm_id + '_open'" style="color:grey">Open...</li>
823         <li t-att-id="widget.cm_id + '_create'">Create...</li>
824         <li t-att-id="widget.cm_id + '_search'" class="oe_m2o_menu_item_mandatory">Search...</li>
825         <t t-set="i" t-value="0"/>
826         <t t-foreach="widget.related_entries" t-as="entry">
827             <li t-att-id="widget.cm_id + '_related_' + i" style="color:grey" class="oe_m2o_menu_item_mandatory">
828                 ... <t t-esc="(entry[2] || {})['name'] || ''"/>
829             </li>
830             <t t-set="i" t-value="i+1"/>
831         </t>
832     </ul>
833 </t>
834 <t t-name="FieldOne2Many">
835     <div t-att-id="widget.element_id">
836     </div>
837 </t>
838 <t t-name="FieldMany2Many">
839     <div t-att-id="widget.list_id"></div>
840 </t>
841 <t t-name="FieldReference">
842     <table border="0" width="100%" cellpadding="0" cellspacing="0" class="oe_frame oe_forms">
843     <tr>
844         <td t-att-id="widget.selection.element_id" class="oe_form_frame_cell oe_form_selection">
845             <t t-raw="widget.selection.render()"/>
846         </td>
847         <td t-att-id="widget.m2o.element_id" class="oe_form_frame_cell oe_form_many2one" nowrap="true">
848             <t t-raw="widget.m2o.render()"/>
849         </td>
850     </tr>
851     </table>
852 </t>
853 <t t-name="FieldBoolean">
854     <input type="checkbox"
855         t-att-name="widget.name"
856         t-att-id="widget.element_id + '_field'"
857         t-att-class="'field_' + widget.type"/>
858 </t>
859 <t t-name="FieldProgressBar">
860     <div t-opentag="true" class="oe-progressbar">
861         <span></span>
862     </div>
863 </t>
864 <t t-name="FieldBinaryImage">
865     <table cellpadding="0" cellspacing="0" border="0">
866     <tr>
867         <td align="center">
868             <img src="/web/static/src/img/placeholder.png" class="oe-binary-image"
869                 t-att-border="widget.readonly ? 0 : 1"
870                 t-att-id="widget.element_id + '_field'"
871                 t-att-name="widget.name"
872                 t-att-class="'field_' + widget.type"
873                 t-att-width="widget.node.attrs.img_width || widget.node.attrs.width"
874                 t-att-height="widget.node.attrs.img_height || widget.node.attrs.height"
875             />
876         </td>
877     </tr>
878     <tr>
879         <td align="center" valign="bottom" height="25">
880             <div class="oe-binary">
881                 <table cellspacing="0" cellpadding="0" border="0">
882                 <tr>
883                     <td>
884                         <div class="oe-binary-file-set" style="width: 40px; height:22px;">
885                             <form class="oe-binary-form" t-att-target="widget.iframe"
886                                 method="post" enctype="multipart/form-data" action="/web/binary/upload">
887                                 <input type="hidden" name="session_id" value=""/>
888                                 <input type="hidden" name="callback" t-att-value="widget.iframe"/>
889                                 <button class="button" type="button" title="Set Image">
890                                     <img src="/web/static/src/img/icons/STOCK_DIRECTORY.png"/>
891                                 </button>
892                                 <input type="file" class="oe-binary-file" name="ufile"/>
893                             </form>
894                         </div>
895                     </td>
896                     <td>
897                         <button class="button oe-binary-file-clear" type="button" title="Clear">
898                             <img src="/web/static/src/img/icons/STOCK_MISSING_IMAGE.png"/>
899                         </button>
900                     </td>
901                 </tr>
902                 </table>
903             </div>
904             <div class="oe-binary-progress" style="display: none">
905                 <img src="/web/static/src/img/throbber.gif" width="16" height="16"/>
906                 <b>Uploading ...</b>
907             </div>
908             <iframe t-att-id="widget.iframe" t-att-name="widget.iframe" style="display: none"> </iframe>
909         </td>
910     </tr>
911     </table>
912 </t>
913 <t t-name="FieldBinaryFile">
914     <table cellpadding="0" cellspacing="0" border="0" width="100%">
915     <tr>
916         <td width="100%">
917             <input type="text" size="1"
918                 t-att-name="widget.name"
919                 t-att-id="widget.element_id + '_field'"
920                 t-att-class="'field_' + widget.type" style="width: 100%"
921             />
922         </td>
923         <td class="oe-binary" nowrap="true">
924             <table cellspacing="0" cellpadding="0" border="0">
925             <tr>
926                 <td>
927                     <div class="oe-binary-file-set" style="width: 80px; height:22px;">
928                         <form class="oe-binary-form" t-att-target="widget.iframe"
929                             method="post" enctype="multipart/form-data" action="/web/binary/upload">
930                             <input type="hidden" name="session_id" value=""/>
931                             <input type="hidden" name="callback" t-att-value="widget.iframe"/>
932                             <button class="button" type="button" title="Set Image">
933                                 <img src="/web/static/src/img/icons/STOCK_DIRECTORY.png"/>
934                                 <span>Select</span>
935                             </button>
936                             <input type="file" class="oe-binary-file" name="ufile"/>
937                         </form>
938                     </div>
939                 </td>
940                 <td>
941                     <button class="button oe-binary-file-save" type="button" title="Save As">
942                         <img src="/web/static/src/img/icons/gtk-save.png"/>
943                         <span>Save As</span>
944                     </button>
945                 </td>
946                 <td>
947                     <button class="button oe-binary-file-clear" type="button" title="Clear">
948                         <img src="/web/static/src/img/icons/STOCK_MISSING_IMAGE.png"/>
949                         <span>Clear</span>
950                     </button>
951                 </td>
952             </tr>
953             </table>
954         </td>
955         <td class="oe-binary-progress" style="display: none" nowrap="true">
956             <img src="/web/static/src/img/throbber.gif" width="16" height="16"/>
957             <b>Uploading ...</b>
958             <iframe t-att-id="widget.iframe" t-att-name="widget.iframe" style="display: none"> </iframe>
959         </td>
960     </tr>
961     </table>
962 </t>
963 <t t-name="WidgetButton">
964     <button type="button"
965         t-att-id="widget.element_id + '_button'"
966         t-att-title="widget.help"
967         style="width: 100%" class="button">
968         <img t-if="widget.node.attrs.icon" t-att-src="'/web/static/src/img/icons/' + widget.node.attrs.icon + '.png'" width="16" height="16"/>
969         <span t-if="widget.string"><t t-esc="widget.string"/></span>
970     </button>
971 </t>
972 <t t-name="SearchView">
973     <h2 class="oe_view_title"><t t-esc="view.attrs['string']"/></h2>
974     <form class="oe_forms">
975         <t t-call="SearchView.render_lines"/>
976         <div class="oe_search-view-buttons" style="text-align: right;">
977             <input type="submit" value="Search"/>
978             <input type="reset" value="Clear"/>
979             <button class="oe_search-view-custom-filter-btn"><span>Advanced Filter</span></button>
980             <select class="oe_search-view-filters-management">
981             </select>
982         </div>
983     </form>
984 </t>
985 <t t-name="SearchView.managed-filters">
986     <option value="_filters">-- Filters --</option>
987     <t t-set="i" t-value="0"/>
988     <t t-foreach="filters" t-as="filter">
989         <option t-att-value="'get:' + i"><t t-esc="filter.name"/></option>
990         <t t-set="i" t-value="i+1"/>
991     </t>
992     <option value="_actions">-- Actions --</option>
993     <option value="save_filter">Save Filter</option>
994     <option value="manage_filters">Manage Filters</option>
995 </t>
996 <t t-name="SearchView.managed-filters.add">
997     <div>
998         <p>Filter Name:</p>
999         <input type="text"/>
1000         <p>(Any existing filter with the same name will be replaced)</p>
1001     </div>
1002 </t>
1003 <t t-name="SearchView.render_lines">
1004     <table class="oe-searchview-render-line" border="0" cellspacing="0" cellpadding="0"
1005            t-foreach="lines" t-as="line">
1006         <tr>
1007             <td t-foreach="line" t-as="widget">
1008                 <t t-raw="widget.render(defaults)"/>
1009             </td>
1010         </tr>
1011     </table>
1012 </t>
1013 <button t-name="SearchView.filter" type="button"
1014         t-att-id="element_id"
1015         t-att-title="attrs.help"
1016         t-att-class="classes.join(' ')"
1017         t-att-autofocus="attrs.default_focus === '1' ? 'autofocus' : undefined">
1018     <img t-if="attrs.icon" t-att-src="'/web/static/src/img/icons/' + attrs.icon + '.png'" width="16" height="16"/>
1019     <br t-if="attrs.icon and attrs.string"/>
1020     <t t-esc="attrs.string"/>
1021 </button>
1022 <span t-name="SearchView.filters" class="filter_label_group"
1023     ><t t-foreach="filters" t-as="filter"
1024         ><t t-raw="filter.render(defaults)"/></t
1025 ></span>
1026 <t t-name="SearchView.field">
1027     <label t-att-class="'oe_label' + (attrs.help ? '_help' : '')"
1028            t-att-title="attrs.help"
1029            t-att-for="element_id">
1030         <t t-esc="attrs.string || attrs.name"/>
1031         <span t-if="attrs.help">?</span>
1032     </label>
1033     <div style="white-space: nowrap;">
1034         <input type="text" size="15" t-att-name="attrs.name"
1035                t-att-autofocus="attrs.default_focus === '1' ? 'autofocus' : undefined"
1036                t-att-id="element_id"
1037                t-att-value="defaults[attrs.name] || ''"/>
1038         <t t-if="filters.length" t-raw="filters.render(defaults)"/>
1039     </div>
1040 </t>
1041 <t t-name="SearchView.field.selection">
1042     <label t-att-title="attrs.help"
1043            t-att-class="'oe_label' + (attrs.help ? '_help' : '')"
1044            t-att-for="element_id">
1045         <t t-esc="attrs.string || attrs.name"/>
1046         <span t-if="attrs.help">?</span>
1047     </label>
1048     <div style="white-space: nowrap;">
1049         <select t-att-name="attrs.name" t-att-id="element_id"
1050                 t-att-autofocus="attrs.default_focus === '1' || undefined">
1051             <option/>
1052             <t t-foreach="attrs.selection" t-as="option">
1053                 <t t-set="selected" t-value="defaults[attrs.name] === option[0]"/>
1054                 <option t-if="selected"
1055                         t-att-value="option[0]" selected="selected">
1056                     <t t-esc="option[1]"/>
1057                 </option>
1058                 <option t-if="!selected" t-att-value="option[0]">
1059                     <t t-esc="option[1]"/>
1060                 </option>
1061             </t>
1062         </select>
1063         <t t-if="filters.length" t-raw="filters.render(defaults)"/>
1064     </div>
1065 </t>
1066 <t t-name="SearchView.util.expand">
1067     <div t-att-class="'searchview_group ' + (expand == '0' ? 'folded' : 'expanded')"
1068          t-att-id="element_id">
1069         <a t-if="label" class="searchview_group_string" href="#">
1070             <t t-esc="label"/>
1071         </a>
1072         <div class="searchview_group_content">
1073             <t t-raw="content"/>
1074         </div>
1075     </div>
1076 </t>
1077 <t t-name="SearchView.group">
1078     <t t-call="SearchView.util.expand">
1079         <t t-set="expand" t-value="attrs.expand"/>
1080         <t t-set="label" t-value="attrs.string"/>
1081         <t t-set="content">
1082             <t t-call="SearchView.render_lines"/>
1083         </t>
1084     </t>
1085 </t>
1086 <t t-name="SearchView.extended_search">
1087     <t t-call="SearchView.util.expand">
1088         <t t-set="expand" t-value="false"/>
1089         <t t-set="label" t-value="'Advanced Filters'"/>
1090         <t t-set="content">
1091             <div class="searchview_extended_groups_list">
1092             </div>
1093         </t>
1094     </t>
1095 </t>
1096 <t t-name="SearchView.extended_search.group">
1097     <div t-att-id="element_id" class="searchview_extended_group">
1098         <select class="searchview_extended_group_choice">
1099             <option value="any">Any of the following conditions must match</option>
1100             <option value="all">All the following conditions must match</option>
1101             <option value="none">None of the following conditions must match</option>
1102         </select>
1103         <a class="searchview_extended_delete_group"
1104                 href="javascript:void(0)"><span></span></a>
1105         <div class="searchview_extended_propositions_list">
1106         </div>
1107         <a class="searchview_extended_add_proposition" href="javascript:void(0)">
1108             <span>Add condition</span></a>
1109         <div class="oe_adv_filters_and"><span>and</span></div>
1110     </div>
1111 </t>
1112 <t t-name="SearchView.extended_search.proposition">
1113     <div t-att-id="element_id">
1114         <select class="searchview_extended_prop_field">
1115             <t t-foreach="attrs.fields" t-as="field">
1116                 <option t-att="{'selected': field === attrs.selected ? 'selected' : null}"
1117                         t-att-value="field.name">
1118                     <t t-esc="field.string"/>
1119                 </option>
1120             </t>
1121         </select>
1122         <select class="searchview_extended_prop_op"/>
1123         <span class="searchview_extended_prop_value"/>
1124         <a class="searchview_extended_delete_prop"
1125                 href="javascript:void(0)"><span> </span></a>
1126     </div>
1127 </t>
1128 <t t-name="SearchView.extended_search.proposition.char">
1129     <input t-att-id="element_id" class="field_char"/>
1130 </t>
1131 <t t-name="SearchView.extended_search.proposition.datetime">
1132     <input t-att-id="element_id" class="field_datetime"/>
1133 </t>
1134 <t t-name="SearchView.extended_search.proposition.date">
1135     <input t-att-id="element_id" class="field_date"/>
1136 </t>
1137 <t t-name="SearchView.extended_search.proposition.integer">
1138     <input type="number" t-att-id="element_id" class="field_integer" step="1"/>
1139 </t>
1140 <t t-name="SearchView.extended_search.proposition.float">
1141     <input type="number" t-att-id="element_id" class="field_float" step="0.01"/>
1142 </t>
1143 <t t-name="SearchView.extended_search.proposition.boolean">
1144 </t>
1145 <t t-name="SearchView.extended_search.proposition.selection">
1146     <select t-att-id="element_id">
1147         <t t-foreach="field.selection" t-as="element">
1148         <option t-att-value="element[0]"><t t-esc="element[1]"/></option>
1149         </t>
1150     </select>
1151 </t>
1152 <t t-name="DialogWarning">
1153     <table cellspacing="0" cellpadding="0" border="0" class="oe-dialog-warning">
1154     <tr>
1155         <td><img src="/web/static/src/img/warning.png" class="oe-dialog-icon"/></td>
1156         <td>
1157             <p>
1158                 <t t-js="d">
1159                     var message = d.message ? d.message : d.error.data.fault_code;
1160                     d.html_error = context.engine.tools.html_escape(message)
1161                         .replace(/\n/g, '<br/>');
1162                 </t>
1163                 <t t-raw="html_error"/>
1164             </p>
1165         </td>
1166     </tr>
1167     </table>
1168 </t>
1169 <t t-name="DialogTraceback">
1170     <pre><t t-esc="error.message"/></pre>
1171     <hr/>
1172     <pre><t t-esc="error.data.debug"/></pre>
1173 </t>
1174 <t t-name="SelectCreatePopup">
1175     <div t-att-id="element_id">
1176         <table style="width:100%">
1177             <tr style="width:100%">
1178                 <td style="width:100%">
1179                     <div t-att-id="element_id + '_search'" style="width:100%"></div>
1180                 </td>
1181             </tr>
1182             <tr style="width:100%">
1183                 <td style="width:100%">
1184                     <div t-att-id="element_id + '_view_list'" style="width:100%"></div>
1185                 </td>
1186             </tr>
1187         </table>
1188         <div t-att-id="element_id + '_view_form'" style="width:100%"></div>
1189     </div>
1190 </t>
1191 <t t-name="SelectCreatePopup.search.buttons">
1192     <button type="button" class="oe_selectcreatepopup-search-select" disabled="disabled">Select</button>
1193     <button type="button" class="oe_selectcreatepopup-search-close">Cancel</button>
1194 </t>
1195 <t t-name="SelectCreatePopup.form.buttons">
1196     <t t-if="widget.options.disable_multiple_selection">
1197         <button type="button" class="oe_selectcreatepopup-form-save">Save</button>
1198     </t>
1199     <t t-if="! widget.options.disable_multiple_selection">
1200         <button type="button" class="oe_selectcreatepopup-form-save-new">Save &amp; New</button>
1201         <button type="button" class="oe_selectcreatepopup-form-save">Save &amp; Close</button>
1202     </t>
1203     <button type="button" class="oe_selectcreatepopup-form-close">Cancel</button>
1204 </t>
1205 <t t-name="FormOpenPopup">
1206     <div t-att-id="element_id">
1207         <div t-att-id="element_id + '_view_form'" style="width:100%"></div>
1208     </div>
1209 </t>
1210 <t t-name="FormOpenPopup.form.buttons">
1211     <button type="button" class="oe_formopenpopup-form-save">Save</button>
1212     <button type="button" class="oe_formopenpopup-form-close">Cancel</button>
1213 </t>
1214 <t t-name="ListView.row.frame" t-extend="WidgetFrame">
1215     <t t-jquery="tr">
1216         $(document.createElement('t'))
1217             .append(this.contents())
1218             .attr({
1219                 't-foreach': this.attr('t-foreach'),
1220                 't-as': this.attr('t-as')
1221             })
1222             .replaceAll(this)
1223             .after($(document.createElement('td')).append(
1224                 $(document.createElement('button')).attr({
1225                     'class': 'oe-edit-row-save', 'type': 'button'}).text('Save')))
1226             .before($(document.createElement('td')).append(
1227                 $(document.createElement('button')).attr({
1228                     'class': 'oe-edit-row-cancel', 'type': 'button'}).text('Cancel')))
1229             .unwrap();
1230     </t>
1231 </t>
1232
1233 <t t-name="ExportView">
1234     <a id="exportview" href="javascript: void(0)" style="text-decoration: none;color: #3D3D3D;">Export</a>
1235 </t>
1236 <table t-name="ExportTreeView" class="oe-export"
1237        style="background-color: #F3F3F3;">
1238     <tr>
1239         <td colspan="3">
1240             This wizard will export all data that matches the current search criteria to a CSV file.
1241             You can export all data or only the fields that can be reimported after modification.
1242         </td>
1243     </tr>
1244     <tr>
1245         <td colspan="3">
1246             <label for="import_compat">Export Type:</label>
1247             <select id="import_compat" name="import_compat">
1248                 <option value="yes">Import Compatible Export</option>
1249                 <option value="">Export all Data</option>
1250             </select>
1251
1252             <label for="export_format">Export Formats</label>
1253             <select id="export_format" name="export_format"></select>
1254         </td>
1255     </tr>
1256
1257     <tr>
1258         <th>Available fields</th>
1259         <th/>
1260         <th>
1261             Fields to export
1262             <a style="color: blue; text-decoration: none;" href="#" id="export_new_list">Save fields list</a>
1263             <div id="savenewlist"></div>
1264             <div id="ExistsExportList"></div>
1265         </th>
1266     </tr>
1267     <tr style="height: 400px;">
1268         <td class="oe_export_fields_selector_left">
1269             <div id="left_field_panel">
1270             </div>
1271         </td>
1272         <td class="oe_export_fields_selector_center">
1273             <button id="add_field">Add</button>
1274             <button id="remove_field">Remove</button>
1275             <button id="remove_all_field">Remove All</button>
1276         </td>
1277         <td class="oe_export_fields_selector_right">
1278             <select name="fields_list" id="fields_list"
1279                     multiple="multiple"></select>
1280         </td>
1281     </tr>
1282 </table>
1283
1284 <table t-name="ExportTreeView-Secondary"
1285        id="field-tree-structure" class="oe_export_fields_selector_export"
1286        cellspacing="0" cellpadding="0">
1287     <tr><th class="oe_export_tree_header"> Name </th></tr>
1288     <t t-call="ExportTreeView-Secondary.children"/>
1289 </table>
1290 <tr t-name="ExportTreeView-Secondary.children"
1291     t-foreach="fields" t-as="field"
1292     t-att-id="'treerow-' + field.id" class="oe_export_row">
1293     <td>
1294         <table class="tree_grid" border="0">
1295             <tr class="oe_export_row">
1296                 <t t-foreach="(field.id).split('/')" t-as="level" >
1297                     <t t-if="(field.id).split('/')[0] != level">
1298                         <td width="18">&amp;nbsp;</td>
1299                     </t>
1300                 </t>
1301                 <td valign="top" align="left" style="cursor: pointer;" width="18">
1302                     <t t-if="field.children">
1303                         <t t-if="(field.id).split('/').length != 3">
1304                             <img t-att-id="'parentimg-' + field.id" src="/web/static/src/img/expand.gif" width="16" height="16" border="0"/>
1305                         </t>
1306                     </t>
1307                 </td>
1308                 <td id="tree-column" valign="middle" align="left" style="cursor: pointer;">
1309                     <a t-att-id="'export-' + field.id"  t-att-string="field.string" href="javascript: void(0);" style="text-decoration: none;">
1310                         <t t-esc="field.string"/>
1311                     </a>
1312                 </td>
1313             </tr>
1314         </table>
1315     </td>
1316 </tr>
1317
1318 <t t-name="ExportNewList">
1319     <tr>
1320         <th><label>Save as:</label></th>
1321         <td><input size="10" type="text" id="savelist_name"/></td>
1322         <td><button class="oe_export_button_export" id="add_export_list">Ok</button></td>
1323     </tr>
1324 </t>
1325
1326 <t t-name="Exists.ExportList">
1327     <label for="saved_export_list">Saved exports:</label>
1328
1329     <select id="saved_export_list">
1330         <option></option>
1331         <t t-foreach="existing_exports" t-as="export">
1332             <option t-att-value="export.id"><t t-esc="export.name"/></option>
1333         </t>
1334     </select>
1335     <button class="oe_export_button_export" id="delete_export_list" type="button">Delete</button>
1336 </t>
1337 <t t-name="Change_Pwd">
1338     <form name="change_password_form" class="oe_forms" method="POST">
1339         <table align="center">
1340             <tr>
1341                 <td><label for="old_pwd">Old Password:</label></td>
1342                 <td><input type="password" name="old_pwd"
1343                            minlength="1" autofocus="autofocus"/></td>
1344             </tr>
1345             <tr>
1346             <td><label for="new_password">New Password:</label></td>
1347             <td><input type="password" name="new_password"
1348                        minlength="1" autofocus="autofocus"/></td>
1349             </tr>
1350             <tr>
1351                 <td><label for="confirm_pwd">Confirm Password:</label></td>
1352                 <td><input type="password" name="confirm_pwd"
1353                              minlength="1"/></td>
1354             </tr>
1355             <tr>
1356                 <td colspan="2" align="right"><input type="submit" value="Change Password"/></td>
1357             </tr>
1358         </table>
1359     </form>
1360 </t>
1361 <t t-name="About-Page">
1362     <div>
1363         <h1>OpenERP Web</h1>
1364         <h3 style="padding:0 5px 5px">Version 6.0.2</h3>
1365         <p>
1366             Copyright © 2006-TODAY OpenERP SA. All Rights Reserved.<br>
1367             OpenERP is a trademark of the OpenERP SA Company.
1368             
1369             <i>OpenERP Web</i> is jointly developed by <a target="_blank" href="http://www.openerp.com" style="text-decoration: underline;">OpenERP</a> and <a target="_blank" href="http://www.axelor.com/" style="text-decoration: underline;">Axelor</a>.
1370         </p>
1371         <p>
1372             Licenced under the terms of <a target="_blank" href="/LICENSE.txt" style="text-decoration: underline;">OpenERP Public License (OEPL) v1.1</a>
1373         </p>
1374         <br>
1375         <h1>About OpenERP</h1>
1376         <p>
1377             <a target="_blank" href="http://openerp.com/" style="text-decoration: underline;">OpenERP</a> is a free enterprise-scale software system that is designed to boost
1378             productivity and profit through data integration. It connects, improves and
1379             manages business processes in areas such as sales, finance, supply chain,
1380             project management, production, services, CRM, etc..
1381             
1382         </p>
1383         <p>
1384             The system is platform-independent, and can be installed on Windows, Mac OS X,
1385             and various Linux and other Unix-based distributions. Its architecture enables
1386             new functionality to be rapidly created, modifications to be made to a
1387             production system and migration to a new version to be straightforward.
1388         </p>
1389         <p>
1390             Depending on your needs, OpenERP is available through a web or application client.
1391         </p>
1392     </div>
1393 </t>
1394 </templates>