[MERGE] Merge from trunk
[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="Notification">
6     <div class="oe_notification">
7         <div id="oe_notification_default">
8             <a class="ui-notify-cross ui-notify-close" href="#">x</a>
9             <h1>#{title}</h1>
10             <p>#{text}</p>
11         </div>
12         <div id="oe_notification_alert" class="ui-state-error">
13             <a class="ui-notify-cross ui-notify-close" href="#">x</a>
14             <span style="float:left; margin:2px 5px 0 0;" class="ui-icon ui-icon-alert"></span>
15             <h1>#{title}</h1>
16             <p>#{text}</p>
17         </div>
18     </div>
19 </t>
20 <t t-name="Interface">
21     <div id="oe_loading"></div>
22
23     <table border="0" cellpadding="0" cellspacing="0" width="100%" height="100%" class="main_table">
24     <tr>
25         <td colspan="2" valign="top">
26             <div id="oe_header" class="header"></div>
27             <div id="oe_menu" class="menu"></div>
28         </td>
29     </tr>
30     <tr>
31         <td valign="top" class="login-container" colspan="2">
32             <div id="oe_login" class="login"></div>
33         </td>
34     </tr>
35     <tr class="db_options_row">
36         <td valign="top" class="db_container">
37             <div id="oe_database" class="database"></div>
38         </td>
39         <td valign="top">
40          <div id="oe_db_options"></div>
41         </td>
42     </tr>
43     <tr>
44         <td colspan="2" valign="top" height="100%">
45             <table cellspacing="0" cellpadding="0" border="0" height="100%" width="100%">
46             <tr>
47                 <td valign="top" id="oe_secondary_menu" class="secondary_menu"></td>
48                 <td valign="top" class="oe-application-container">
49                     <div id="oe_app" class="oe-application">
50                     </div>
51                 </td>
52             </tr>
53             </table>
54         </td>
55     </tr>
56     <tr>
57         <td colspan="2">
58             <div id="oe_footer" class="oe_footer">
59                 <p class="oe_footer_powered">Powered by <a href="http://www.openerp.com">openerp.com</a>.</p>
60             </div>
61         </td>
62     </tr>
63     </table>
64 </t>
65 <t t-name="Loading">
66     <div class="loading">
67     Loading...
68     </div>
69 </t>
70 <t t-name="Database">
71     <ul class="db_options" style="padding: 0px; display: inline;">
72         <li id="db-create">Create</li>
73         <li id="db-drop">Drop</li>
74         <li id="db-backup">Backup</li>
75         <li id="db-restore">Restore</li>
76         <li id="db-change-password">Password</li>
77         <li id="back-to-login">Back to Login</li>
78     </ul>
79 </t>
80 <t t-name="Database.CreateDB">
81     <form name="create_db_form" class="oe_forms" method="POST">
82         <table width="100%">
83             <tr>
84                 <td class="option_string">
85                     CREATE DATABASE
86                 </td>
87             </tr>
88         </table>
89         <table align="center" class="db_option_table">
90             <tr>
91                 <td><label for="super_admin_pwd">Master password:</label></td>
92                 <td><input type="password" name="super_admin_pwd" class="required" value="admin"/></td>
93             </tr>
94             <tr>
95                 <td><label for="db_name">New database name:</label></td>
96                 <td><input type="text" name="db_name" class="required"/></td>
97             </tr>
98             <tr>
99                 <td><label for="demo_data">Load Demonstration data:</label></td>
100                 <td><input type="checkbox" name="demo_data"/></td>
101             </tr>
102             <tr>
103                 <td><label for="db_lang">Default language:</label></td>
104                 <td>
105                     <select name="db_lang" t-if="lang_list">
106                         <t t-foreach="lang_list" t-as="lang">
107                             <option t-att-value="lang[0]" t-att-selected="lang[0] === 'en_US' ? 'selected' : undefined"><t t-esc="lang[1]"/></option>
108                         </t>
109                     </select>
110                 </td>
111             </tr>
112             <tr>
113                 <td><label for="create_admin_pwd">Admin password:</label></td>
114                 <td><input type="password" name="create_admin_pwd" class="required"/></td>
115             </tr>
116             <tr>
117                 <td><label for="create_confirm_pwd">Confirm password:</label></td>
118                 <td><input type="password" name="create_confirm_pwd" class="required"
119                            equalTo="input[name=create_admin_pwd]"/></td>
120             </tr>
121             <tr>
122                 <td colspan="2" align="right"><button class="oe_button">Create</button></td>
123             </tr>
124         </table>
125     </form>
126 </t>
127 <t t-name="DropDB">
128     <form name="drop_db_form" class="oe_forms" method="POST">
129         <table width="100%">
130             <tr>
131                 <td class="option_string">
132                     DROP DATABASE
133                 </td>
134             </tr>
135         </table>
136         <table align="center" class="db_option_table">
137             <tr>
138                 <td><label for="drop_db">Database:</label></td>
139                 <td>
140                     <select t-if="db_list" name="drop_db" autofocus="autofocus">
141                         <t t-foreach="db_list" t-as="db">
142                             <option t-att-value="db"><t t-esc="db"/></option>
143                         </t>
144                     </select>
145                 </td>
146             </tr>
147             <tr>
148                 <td><label for="drop_password">Master Password:</label></td>
149                 <td><input type="password" name="drop_pwd" class="required"/></td>
150             </tr>
151             <tr>
152                 <td colspan="2" align="right"><button class="oe_button">Drop</button></td>
153             </tr>
154         </table>
155     </form>
156 </t>
157 <t t-name="BackupDB">
158     <form name="backup_db_form" class="oe_forms" method="POST" target="backup-target"
159           action="/web/database/backup">
160         <input type="hidden" name="token"/>
161         <table width="100%">
162             <tr>
163                 <td class="option_string">
164                     BACKUP DATABASE
165                 </td>
166             </tr>
167         </table>
168         <table align="center" class="db_option_table">
169             <tr>
170                 <td><label for="backup_db">Database:</label></td>
171                 <td>
172                     <select t-if="db_list" name="backup_db" autofocus="autofocus">
173                         <t t-foreach="db_list" t-as="db">
174                             <option t-att-value="db"><t t-esc="db"/></option>
175                         </t>
176                     </select>
177                 </td>
178             </tr>
179             <tr>
180                 <td><label for="backup_pwd">Master Password:</label></td>
181                 <td><input type="password" name="backup_pwd" class="required"/></td>
182             </tr>
183             <tr>
184                 <td colspan="2" align="right"><button class="oe_button">Backup</button></td>
185             </tr>
186         </table>
187     </form>
188 </t>
189 <t t-name="RestoreDB">
190     <form name="restore_db_form" class="oe_forms" method="POST">
191         <table width="100%">
192             <tr>
193                 <td class="option_string">
194                     RESTORE DATABASE
195                 </td>
196             </tr>
197         </table>
198         <table align="center" class="db_option_table">
199             <tr>
200                 <td><label for="restore_db">File:</label></td>
201                 <td><input type="file" name="db_file" class="required"
202                          autofocus="autofocus"/></td>
203             </tr>
204             <tr>
205                 <td><label for="restore_pwd">Master Password:</label></td>
206                 <td><input type="password" name="restore_pwd" class="required"/></td>
207             </tr>
208         <tr>
209                 <td><label for="new_db">New database name:</label></td>
210                 <td><input type="text" name="new_db" class="required"/></td>
211             </tr>
212         <tr>
213             <td colspan="2" align="right"><button class="oe_button">Restore</button></td>
214             </tr>
215         </table>
216     </form>
217 </t>
218 <t t-name="Change_DB_Pwd">
219     <form name="change_pwd_form" class="oe_forms" method="POST">
220         <table width="100%">
221             <tr>
222                 <td class="option_string">
223                     CHANGE MASTER PASSWORD
224                 </td>
225             </tr>
226         </table>
227         <table align="center" class="db_option_table">
228             <tr>
229                 <td><label for="old_pwd">Master password:</label></td>
230                 <td><input type="password" name="old_pwd" class="required"
231                            minlength="1" autofocus="autofocus"/></td>
232             </tr>
233             <tr>
234             <td><label for="new_pwd">New master password:</label></td>
235             <td><input type="password" name="new_pwd" class="required"
236                        minlength="1"/></td>
237             </tr>
238             <tr>
239                 <td><label for="confirm_pwd">Confirm new master password:</label></td>
240                 <td><input type="password" name="confirm_pwd" class="required"
241                            equalTo="input[name=new_pwd]" minlength="1"/></td>
242             </tr>
243             <tr>
244                 <td colspan="2" align="right"><button class="oe_button">Change Password</button></td>
245             </tr>
246         </table>
247     </form>
248 </t>
249
250 <t t-name="Login_dblist">
251     <select name="db">
252         <t t-foreach="db_list" t-as="db">
253             <t t-if="selected_db === db">
254                 <option t-att-value="db" selected="true">
255                     <t t-esc="db"/></option>
256             </t>
257             <t t-if="selected_db !== db">
258                 <option t-att-value="db"><t t-esc="db"/></option>
259             </t>
260         </t>
261     </select>
262 </t>
263
264 <t t-name="Login">
265   <div>
266     <div class="bottom"> </div>
267     <div class="login_error_message">Invalid username or password</div>
268     <div class="pane">
269       <div id="logo"><img src='/web/static/src/img/logo2.png'/></div>
270       <form action="" method="post">
271         <div class="dbpane" >
272           Database: 
273           <input name="db"></input>
274         </div>
275         <ul>
276           <li>Username</li>
277           <li><input type="text" name="login" autofocus="autofocus"/></li>
278           <li>Password</li>
279           <li><input type="password" name="password" value=""/></li>
280           <li><button name="submit">Log in</button></li>
281         </ul>
282       </form>
283       <div class="footer">
284         <a href="#" id="oe-db-config">Manage Databases</a> |
285         <a href="http://www.openerp.com">Powered by <span class="openerp">OpenERP</span></a>
286       </div>
287     </div>
288   </div>
289 </t>
290 <t t-name="Header">
291     <div>
292         <a t-att-href="'/' + widget.qs" class="company_logo_link">
293             <div class="company_logo" />
294         </a>
295     </div>
296 </t>
297 <t t-name="Header-content">
298     <h1 class="header_title">
299         <t t-esc="user.company_id[1]"/> (<t t-esc="widget.session.db"/>)<br/>
300         <small class="username"><t t-esc="user.name"/></small>
301     </h1>
302     <div class="header_corner">
303         <ul class="block">
304             <li>
305                 <a t-att-href="'/' + widget.qs" title="Home" class="home"><img t-att-src='_s + "/web/static/src/img/header-home.png"' width="16" height="16" border="0"/></a>
306             </li>
307             <li class="preferences">
308                 <a href="javascript:void(0)" title="Preferences" class="preferences"><img t-att-src='_s + "/web/static/src/img/header-preferences.png"' width="16" height="16" border="0"/></a>
309             </li>
310             <li>
311                 <a href="javascript:void(0)" title="About" class="about"><img t-att-src='_s + "/web/static/src/img/header-about.png"' width="16" height="16" border="0"/></a>
312             </li>
313         </ul>
314         <div class="block">
315             <a href="#logout" class="logout">LOGOUT</a>
316         </div>
317
318     </div>
319     <div class="oe-shortcuts"> </div>
320 </t>
321 <ul t-name="Shortcuts">
322     <li t-foreach="shortcuts" t-as="shortcut"
323             t-att-data-id="shortcut.res_id"
324             t-att-data-shortcut-id="shortcut.id"
325         ><t t-esc="shortcut.name"/></li>
326 </ul>
327 <t t-name="Menu">
328     <table align="center">
329     <tr>
330         <td t-foreach="widget.data.data.children" t-as="menu">
331             <a href="#" t-att-data-menu="menu.id">
332                 <t t-esc="menu.name"/>
333             </a>
334         </td>
335     </tr>
336     </table>
337 </t>
338 <t t-name="Menu.secondary">
339     <div t-attf-class="oe_toggle_secondary_menu">
340         <span class="oe_menu_fold" title="Fold menu">&amp;laquo;</span>
341         <span class="oe_menu_unfold" title="Unfold menu">&amp;raquo;</span>
342     </div>
343     <div t-foreach="widget.data.data.children" t-as="menu" style="display: none" class="oe_secondary_menu" t-att-data-menu-parent="menu.id">
344         <t t-foreach="menu.children" t-as="menu">
345             <t t-set="classname">oe_secondary_menu_item</t>
346             <t t-set="level" t-value="0"/>
347             <t t-call="Menu.secondary.children"/>
348         </t>
349     </div>
350 </t>
351 <t t-name="Menu.secondary.children">
352     <t t-set="level" t-value="level + 1"/>
353     <a href="#" t-att-id="menu.children.length ? 'menu_' + menu.id : undefined"
354         t-att-class="classname + (menu.children.length ? ' submenu' : ' leaf') + (menu_first and level == 1 ? ' opened' : '')"
355         t-att-data-menu="menu.children.length ? undefined : menu.id">
356         <span t-attf-style="padding-left: #{(level - 2) * 20}px"> <t t-esc="menu.name"/></span>
357     </a>
358     <div t-attf-class="oe_secondary_submenu" t-if="menu.children.length" t-att-style="menu_first and level == 1 ? undefined : 'display: none'">
359         <t t-foreach="menu.children" t-as="menu">
360             <t t-set="classname">oe_secondary_submenu_item</t>
361             <t t-call="Menu.secondary.children"/>
362         </t>
363     </div>
364 </t>
365 <t t-name="ViewManager">
366     <table class="view-manager-main-table" cellpadding="0" cellspacing="0">
367     <tbody>
368     <tr>
369         <td class="view-manager-main-content">
370             <div class="oe-view-manager-header">
371                 <h2 class="oe_view_title" t-if="self.flags.display_title !== false">
372                     <span class="oe_view_title_text"><t t-esc="self.display_title()"/></span>
373                 </h2>
374                 <div class="oe_vm_switch">
375                     <t t-if="views.length != 1" t-foreach="views" t-as="view">
376
377                         <button type="button" t-attf-class="oe_vm_switch_#{view.view_type}" t-att-data-view-type="view.view_type" t-att-title="view.view_type">
378                             <span><t t-esc="view.label || view.view_type"/></span>
379                         </button>
380                     </t>
381                 </div>
382             </div>
383             <div t-attf-id="#{prefix}_search" t-opentag="true"/>
384             <t t-foreach="views" t-as="view">
385                 <div t-attf-id="#{prefix}_view_#{view.view_type}"/>
386             </t>
387         </td>
388         <td class="view-manager-main-sidebar" height="100%">
389             <t t-foreach="views" t-as="view">
390                 <div t-attf-id="#{prefix}_sidebar_#{view.view_type}" class="sidebar-main-div closed-sidebar" style="display: none"/>
391             </t>
392         </td>
393     </tr>
394     </tbody>
395     </table>
396 </t>
397
398 <t t-extend="ViewManager" t-name="ViewManagerAction">
399     <t t-jquery=".view-manager-main-table tbody" t-operation="prepend">
400         <tr>
401             <td class="oe_view_manager_menu_tips" colspan="2">
402                 <blockquote t-if="self.action.help and !self.flags.low_profile
403                                  and !(self.action.id in self.session.hidden_menutips)">
404                     <p><t t-esc="self.action.help"/></p>
405                     <div>
406                         <button type="button" name="hide">Hide this tip</button>
407                         <button type="button" name="disable">Disable all tips</button>
408                     </div>
409                 </blockquote>
410             </td>
411         </tr>
412     </t>
413     <t t-jquery="h2.oe_view_title" t-operation="prepend">
414         <a t-if="self.flags.display_title !== false" class="oe-shortcut-toggle" title="Add / Remove Shortcut..."
415             href="javascript: void(0)"> </a>
416     </t>
417     <t t-jquery="h2.oe_view_title" t-operation="after">
418         <select t-if="self.session.debug" class="oe_debug_view"/>
419     </t>
420     <t t-jquery=".oe-view-manager-header" t-operation="after">
421         <div class="oe-view-manager-logs oe-folded">
422             <ul></ul>
423             <a class="oe-more-logs" href="#">More…</a>
424             <a class="oe-remove-everything ui-icon ui-icon-closethick"/>
425         </div>
426     </t>
427 </t>
428 <t t-name="ViewManagerDebug">
429     <option value="">Debug View#<t t-esc="view.fields_view.view_id"/></option>
430     <option value="fvg"> - Fields View Get</option>
431     <option value="edit" data-model="ir.ui.view" t-att-data-id="view.fields_view.view_id"> - Edit <t t-esc="_.str.capitalize(view.fields_view.type)"/>View</option>
432     <option t-if="view_manager.searchview" value="edit" data-model="ir.ui.view" t-att-data-id="view_manager.searchview.view_id"> - Edit SearchView</option>
433     <option t-if="view_manager.action" value="edit" t-att-data-model="view_manager.action.type" t-att-data-id="view_manager.action.id"> - Edit Action</option>
434 </t>
435 <t t-extend="ViewManager" t-name="One2Many.viewmanager">
436     <t t-jquery="span.oe_view_title_text" t-operation="replace"/>
437
438     <t t-jquery=".oe-view-manager-header">
439         this.attr('t-if', 'views.length != 1');
440     </t>
441 </t>
442
443 <t t-name="Sidebar">
444     <a class="toggle-sidebar"></a>
445     <div class="sidebar-content">
446         <div class="sidebar-actions">
447         </div>
448     </div>
449 </t>
450 <t t-name="Sidebar.section">
451     <div t-att-id="section_id" t-att-class="classname">
452         <h2><t t-esc="name"/></h2>
453     </div>
454 </t>
455 <t t-name="Sidebar.section.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 </t>
462
463 <t t-name="TranslateDialog">
464     <table t-if="widget.view.translatable_fields" class="oe_frame oe_forms oe_translation_form" border="0" cellpadding="0" cellspacing="0" width="100%">
465     <tr>
466         <td class="oe_form_separator" width="1%" nowrap="nowrap">
467             <div class="separator horizontal">Field</div>
468         </td>
469         <th t-foreach="widget.languages" align="left">
470             <div class="separator horizontal"><t t-esc="name"/></div>
471         </th>
472     </tr>
473     <tr t-foreach="widget.view.translatable_fields" t-as="field" t-att-data-field="field.name">
474         <td class="oe_form_frame_cell" width="1%" nowrap="nowrap">
475             <label class="oe_label"><t t-esc="field.string"/>:</label>
476         </td>
477         <td t-foreach="widget.languages" t-as="lg" class="oe_form_frame_cell">
478             <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%"/>
479             <textarea t-if="field.type == 'text'" t-attf-name="#{lg.code}-#{field.name}" data-value="" class="oe_trad_field" style="width: 100%"></textarea>
480         </td>
481     </tr>
482     </table>
483 </t>
484 <t t-name="TreeView">
485     <select t-if="toolbar" style="width: 30%">
486     </select>
487     <table class="oe-treeview-table">
488         <thead>
489             <tr>
490                 <th t-foreach="fields_view" t-as="field"
491                     t-if="!field.attrs.modifiers.tree_invisible"
492                     class="treeview-header">
493                     <t t-esc="fields[field.attrs.name].string" />
494                 </th>
495             </tr>
496         </thead>
497         <tbody>
498         </tbody>
499     </table>
500 </t>
501 <tr t-name="TreeView.rows"
502         t-foreach="records" t-as="record"
503         t-att-id="'treerow_' + record.id"
504         t-att-data-id="record.id" t-att-data-level="level + 1">
505     <t t-set="children" t-value="record[children_field]"/>
506     <t t-set="class" t-value="children and children.length ? 'treeview-tr' : 'treeview-td'"/>
507
508     <td t-foreach="fields_view" t-as="field"
509         t-if="!field.attrs.modifiers.tree_invisible"
510         t-att-data-id="record.id"
511         t-att-style="color_for(record) + (!field_index ? 'background-position: ' + 19*level + 'px; padding-left: ' + 19*level + 'px;' : '')"
512         t-att-class="class">
513         <span t-if="!field.attrs.modifiers.invisible">
514             <t t-esc="render(record[field.attrs.name], fields[field.attrs.name])" />
515         </span>
516         <t t-set="class" t-value="'treeview-td'"/>
517     </td>
518 </tr>
519
520 <t t-name="ViewPager">
521     <button class="oe_button oe_button_pager" type="button" data-pager-action="first">
522         <img t-att-src='_s + "/web/static/src/img/pager_first.png"'/>
523     </button>
524     <button class="oe_button oe_button_pager" type="button" data-pager-action="previous">
525         <img t-att-src='_s + "/web/static/src/img/pager_previous.png"'/>
526     </button>
527
528     <t t-raw="__content__"/>
529
530     <button class="oe_button oe_button_pager" type="button" data-pager-action="next">
531         <img t-att-src='_s + "/web/static/src/img/pager_next.png"'/>
532     </button>
533     <button class="oe_button oe_button_pager" type="button" data-pager-action="last">
534         <img t-att-src='_s + "/web/static/src/img/pager_last.png"'/>
535     </button>
536 </t>
537
538 <table t-name="ListView" class="oe-listview-content">
539     <t t-set="columns_count" t-value="visible_columns.length + (options.selectable ? 1 : 0) + (options.deletable ? 1 : 0) + (options.isClarkGable ? 1 : 0)"/>
540     <thead class="ui-widget-header">
541         <tr t-if="options.action_buttons !== false or options.pager !== false">
542             <th t-att-colspan="columns_count">
543                 <table>
544                     <tr>
545                         <td t-if="!no_leaf and options.action_buttons !== false" class="oe-actions">
546                             <button type="button" class="oe_button oe-list-add"
547                                     t-if="options.addable">
548                                 <t t-esc="options.addable"/>
549                             </button>
550                             <button type="button" class="oe_button oe-list-delete"
551                                     t-if="options.selectable and options.deletable">
552                                 Delete
553                             </button>
554                         </td>
555                         <t t-call="Listview.navigation.button"/>
556                     </tr>
557                 </table>
558             </th>
559         </tr>
560         <tr t-if="options.header" class="oe-listview-header-columns">
561             <t t-foreach="columns" t-as="column">
562                 <th t-if="column.meta">
563                     <t t-esc="column.string"/>
564                 </th>
565             </t>
566             <th t-if="options.selectable" width="1"  >
567                 <input type="checkbox" class="all-record-selector"/> </th>
568             <th t-if="options.isClarkGable" width="1"> </th>
569             <t t-foreach="columns" t-as="column">
570                 <th t-if="!column.meta and column.invisible !== '1'" t-att-data-id="column.id"
571                     t-att-class="((options.sortable and column.tag !== 'button') ? 'oe-sortable' : null)">
572                     <t t-if="column.tag !== 'button'"
573                         ><t t-esc="column.string"/></t>
574                 </th>
575             </t>
576             <th t-if="options.deletable" width="1"/>
577         </tr>
578     </thead>
579     <tfoot class="ui-widget-header">
580         <tr>
581             <td t-if="options.selectable"/>
582             <td t-if="options.isClarkGable"/>
583             <td t-foreach="aggregate_columns" t-as="column" class="oe-list-footer oe-number"
584                 t-att-data-field="column.id" t-att-title="column.label">
585             </td>
586             <td t-if="options.deletable"/>
587         </tr>
588         <tr>
589             <t t-call="Listview.navigation.button"/>
590         </tr>
591     </tfoot>
592 </table>
593 <t t-extend="ListView" t-name="One2Many.listview">
594     <t t-jquery="thead.ui-widget-header > tr:first">
595         this.removeAttr('t-if');
596     </t>
597
598     <t t-jquery="tfoot &gt; tr:last-child" t-operation="replace"/>
599
600     <t t-jquery="td.oe-actions">
601         this.removeAttr('t-if');
602         var $title = $(document.createElement('h3')).addClass('oe_view_title');
603         $title.append($(document.createElement('t')).attr(
604             't-esc', 'fields_view.arch.attrs.string'));
605         this.prepend($title);
606     </t>
607 </t>
608 <th t-name="Listview.navigation.button" t-if="!no_leaf and options.pager !== false"
609         class="oe-list-pager" t-att-colspan="columns_count">
610     <t t-call="ViewPager">
611         <span class="oe-pager-state">
612         </span>
613     </t>
614 </th>
615 <t t-name="ListView.rows" t-foreach="records.length" t-as="index">
616     <t t-call="ListView.row">
617         <t t-set="record" t-value="records.at(index)"/>
618         <t t-set="row_parity" t-value="index_parity"/>
619     </t>
620 </t>
621 <tr t-name="ListView.row" t-att-class="row_parity"
622         t-att-data-id="record.get('id')"
623         t-att-style="view.color_for(record)">
624     <t t-foreach="columns" t-as="column">
625         <td t-if="column.meta">
626
627         </td>
628     </t>
629     <th t-if="options.selectable" class="oe-record-selector" width="1">
630         <input t-att-type="options.radio? 'radio': 'checkbox'" name ="radiogroup" t-att-checked="options.select_view_id == record.get('id')? true: null"/>
631     </th>
632     <th t-if="options.isClarkGable" class="oe-record-edit-link" width="1">
633         <img src="/web/static/src/img/pencil.gif" width="12" height="12" class="oe-record-edit-link-img"/>
634     </th>
635     <t t-foreach="columns" t-as="column">
636         <t t-set="align" t-value="column.type === 'integer' or column.type == 'float'"/>
637         <td t-if="!column.meta and column.invisible !== '1'" t-att-title="column.help"
638             t-att-class="'oe-field-cell' + (align ? ' oe-number' : '')
639                          + (column.tag === 'button' ? ' oe-button' : '')"
640             t-att-data-field="column.id">
641             <t t-raw="render_cell(record, column)"/>
642         </td>
643     </t>
644     <td t-if="options.deletable" class='oe-record-delete' width="1">
645         <button type="button" name="delete"></button>
646     </td>
647 </tr>
648 <t t-name="ListView.row.form">
649     <t t-raw="frame.render()"/>
650 </t>
651
652 <t t-name="FormView">
653     <div class="oe_form_header">
654         <div class="oe_form_buttons" t-if="widget.options.action_buttons !== false">
655             <button type="button" class="oe_button oe_form_button_save">Save</button>
656             <button type="button" class="oe_button oe_form_button_cancel">Cancel</button>
657         </div>
658         <div class="oe_form_pager" t-if="widget.options.pager !== false">
659             <t t-call="ViewPager">
660                 <span class="oe_pager_index">0</span><span class="oe_pager_separator"> / </span><span class="oe_pager_count">0</span>
661             </t>
662         </div>
663     </div>
664     <t t-raw="frame.render()"/>
665 </t>
666 <t t-name="PageView" t-extend="FormView">
667     <t t-jquery=".oe_form_buttons" t-operation="inner">
668         <button type="button" class="oe_button oe_form_button_edit">Edit</button>
669         <button type="button" class="oe_button oe_form_button_create">Create</button>
670         <button type="button" class="oe_button oe_form_button_duplicate">Duplicate</button>
671         <button type="button" class="oe_button oe_form_button_delete">Delete</button>
672     </t>
673 </t>
674 <t t-name="FormView.sidebar.attachments">
675     <div class="oe-sidebar-attachments-toolbar">
676         <div class="oe-binary-file-set" style="float: right">
677             <form class="oe-binary-form" t-attf-target="#{element_id}_iframe"
678                 method="post" enctype="multipart/form-data" action="/web/binary/upload_attachment">
679                 <input type="hidden" name="session_id" t-att-value="session.session_id"/>
680                 <input type="hidden" name="callback" t-attf-value="#{element_id}_iframe"/>
681                 <input type="hidden" name="model" t-att-value="view.dataset.model"/>
682                 <input type="hidden" name="id" t-att-value="view.datarecord.id"/>
683                 <button class="oe_button" type="button">
684                     <img t-att-src='_s + "/web/static/src/img/throbber.gif"' width="16" height="16" style="display: none"/>
685                     <span>Add</span>
686                 </button>
687                 <input type="file" class="oe-binary-file" name="ufile" title="Add attachment"
688                     t-att-onclick="view.datarecord.id ? null : 'alert(\'No record selected ! You can only attach to existing record.\'); return false;'"/>
689             </form>
690             <iframe t-attf-id="#{element_id}_iframe" t-attf-name="#{element_id}_iframe" style="display: none"> </iframe>
691         </div>
692     </div>
693     <br style="clear: both"/>
694     <ul class="oe-sidebar-attachments-items">
695         <li t-foreach="attachments" t-as="attachment">
696             <t t-if="attachment.type == 'binary'" t-set="attachment.url" t-value="_s + '/web/binary/saveas?session_id='
697                 + session.session_id + '&amp;model=ir.attachment&amp;id=' + attachment.id
698                 + '&amp;field=datas&amp;fieldname=name&amp;t=' + (new Date().getTime())"/>
699             <a class="oe-sidebar-attachments-link" t-att-href="attachment.url" target="_blank">
700                 <t t-esc="attachment.name"/>
701             </a>
702             <a href="#" class="oe-sidebar-attachment-delete" t-att-data-id="attachment.id" t-attf-title="Delete the attachment #{attachment.name}">
703                 <img t-att-src='_s + "/web/static/src/img/attachments-close.png"' width="15" height="15" border="0"/>
704             </a>
705         </li>
706     </ul>
707 </t>
708 <t t-name="Widget">
709     Unhandled widget
710     <t t-js="dict">console.warn('Unhandled widget', dict.widget);</t>
711 </t>
712 <t t-name="WidgetFrame">
713     <table border="0" width="100%" cellpadding="0" cellspacing="0" class="oe_frame oe_forms">
714     <tr t-foreach="widget.table" t-as="row">
715         <t t-foreach="row" t-as="td">
716             <td t-att-colspan="td.colspan gt 1 ? td.colspan : undefined"
717                 t-att-width="td.width"
718                 t-att-valign="td.table ? 'top' : undefined"
719                 t-attf-class="oe_form_frame_cell #{td.classname} #{td.element_class}"
720             >
721                 <t t-raw="td.render()"/>
722             </td>
723         </t>
724     </tr>
725     </table>
726 </t>
727 <t t-name="WidgetFrame.readonly" t-extend="WidgetFrame">
728     <t t-jquery="&gt;table">
729         this.attr('class', this.attr('class')+' oe_form_readonly');
730     </t>
731 </t>
732 <t t-name="WidgetGroup">
733     <t t-if="widget.string">
734     <fieldset class="oe_group_box">
735         <legend><t t-esc="widget.string"/></legend>
736         <t t-call="WidgetFrame"/>
737     </fieldset>
738     </t>
739     <t t-if="!widget.string">
740         <t t-call="WidgetFrame"/>
741     </t>
742 </t>
743 <t t-name="WidgetNotebook">
744     <ul>
745         <li t-foreach="widget.pages" t-as="page">
746             <a href="#">
747                 <t t-esc="page.string"/>
748             </a>
749         </li>
750     </ul>
751     <t t-foreach="widget.pages" t-as="page">
752         <t t-raw="page.render()"/>
753     </t>
754 </t>
755 <t t-name="WidgetNotebook.tooltip">
756     <t t-foreach="widget.pages" t-as="page">
757         <div class="oe_tooltip_string">
758             Notebook Page "<t t-esc="page.string"/>"
759         </div>
760         <ul class="oe_tooltip_technical">
761             <li data-item="modifiers">
762                 <span class="oe_tooltip_technical_title">Modifiers:</span>
763                 <t t-esc="page.node.attrs.modifiers"/>
764             </li>
765         </ul>
766     </t>
767 </t>
768 <t t-name="WidgetNotebookPage">
769     <div>
770         <t t-call="WidgetFrame"/>
771     </div>
772 </t>
773 <t t-name="WidgetSeparator">
774     <div t-if="widget.orientation !== 'vertical'" t-att-class="'separator ' + widget.orientation">
775         <t t-esc="widget.string"/>
776     </div>
777 </t>
778 <t t-name="WidgetLabel">
779     <label t-att-for="widget.element_id"
780            t-attf-class="oe_label#{widget.help ? '_help' : ''} oe_align_#{widget.align}">
781         <t t-esc="widget.string"/>
782         <span t-if="widget.help">?</span>
783         <t t-if="widget.string and widget.node.tag != 'label'">:</t>
784     </label>
785 </t>
786 <t t-name="WidgetLabel.tooltip">
787     <div class="oe_tooltip_string" t-if="widget.string">
788         <t t-esc="widget.string"/> <t t-if="debug and widget.nolabel">(nolabel)</t>
789     </div>
790     <p t-if="widget.help" class="oe_tooltip_help">
791         <t t-esc="widget.help"/>
792     </p>
793     <ul t-if="debug" class="oe_tooltip_technical">
794         <li data-item="field" t-if="widget.name">
795             <span class="oe_tooltip_technical_title">Field:</span>
796             <t t-esc="widget.name"/>
797         </li>
798         <li data-item="object" t-if="widget.view and widget.view.fields_view">
799             <span class="oe_tooltip_technical_title">Object:</span>
800             <t t-esc="widget.view.fields_view.model"/>
801         </li>
802         <li data-item="type" t-if="widget.field">
803             <span class="oe_tooltip_technical_title">Type:</span>
804             <t t-esc="widget.field.type"/>
805         </li>
806         <li t-if="widget.node.attrs.widget" data-item="widget">
807             <span class="oe_tooltip_technical_title">Widget:</span>
808             <t t-esc="widget.node.attrs.widget"/>
809         </li>
810         <li t-if="widget.node.attrs.size || (widget.field and widget.field.size)" data-item="size">
811             <span class="oe_tooltip_technical_title">Size:</span>
812             <t t-esc="widget.node.attrs.size || widget.field.size"/>
813         </li>
814         <li t-if="widget.node.attrs.context" data-item="context">
815             <span class="oe_tooltip_technical_title">Context:</span>
816             <t t-esc="widget.node.attrs.context_string"/>
817         </li>
818         <li t-if="widget.node.attrs.domain" data-item="domain">
819             <span class="oe_tooltip_technical_title">Domain:</span>
820             <t t-esc="widget.node.attrs.domain_string"/>
821         </li>
822         <li t-if="widget.node.attrs.modifiers and widget.node.attrs.modifiers != '{}'" data-item="modifiers">
823             <span class="oe_tooltip_technical_title">Modifiers:</span>
824             <t t-esc="widget.node.attrs.modifiers"/>
825         </li>
826         <li t-if="widget.node.attrs.on_change" data-item="on_change">
827             <span class="oe_tooltip_technical_title">On change:</span>
828             <t t-esc="widget.node.attrs.on_change"/>
829         </li>
830         <li t-if="widget.field and widget.field.relation" data-item="relation">
831             <span class="oe_tooltip_technical_title">Relation:</span>
832             <t t-esc="widget.field.relation"/>
833         </li>
834         <li t-if="widget.field and widget.field.selection" data-item="selection">
835             <span class="oe_tooltip_technical_title">Selection:</span>
836             <ul>
837                 <li t-foreach="widget.field.selection" t-as="option">
838                     [<t t-esc="option[0]"/>]
839                     <t t-if="option[1]"> - </t>
840                     <t t-esc="option[1]"/>
841                 </li>
842             </ul>
843         </li>
844     </ul>
845 </t>
846 <t t-name="WidgetParagraph">
847     <p t-attf-class="oe_form_paragraph oe_align_#{widget.align}"><t t-esc="widget.string"/></p>
848 </t>
849 <t t-name="FieldChar">
850     <input t-att-type="widget.password ? 'password' : 'text'" size="1"
851         t-att-name="widget.name"
852         t-att-id="widget.element_id"
853         t-attf-class="field_#{widget.type} #{_(['integer', 'float', 'float_time']).contains(widget.type) ? 'oe-number' : ''}"
854         style="width: 100%"
855     /><img class="oe_field_translate oe_input_icon" t-if="widget.field.translate" t-att-src='_s + "/web/static/src/img/icons/terp-translate.png"' width="16" height="16" border="0"/>
856 </t>
857 <t t-name="FieldChar.readonly">
858     <div
859         t-att-id="widget.element_id"
860         t-attf-class="field_#{widget.type} #{_(['integer', 'float', 'float_time']).contains(widget.type) ? 'oe-number' : ''}">
861     </div>
862 </t>
863 <t t-name="FieldURI.readonly">
864     <div>
865         <a href="#" class="oe_form_uri">#</a>
866     </div>
867 </t>
868 <t t-name="FieldEmail">
869     <table cellpadding="0" cellspacing="0" border="0" width="100%">
870     <tr>
871         <td width="100%">
872             <t t-call="FieldChar"/>
873         </td>
874         <td width="16">
875             <button class="oe_button oe_field_button" type="button" title="Send an e-mail with your default e-mail client">
876                 <img t-att-src='_s + "/web/static/src/img/icons/terp-mail-message-new.png"'/>
877             </button>
878         </td>
879     </tr>
880     </table>
881 </t>
882 <t t-name="FieldUrl">
883     <table cellpadding="0" cellspacing="0" border="0" width="100%">
884     <tr>
885         <td width="100%">
886             <t t-call="FieldChar"/>
887         </td>
888         <td width="16">
889             <button class="oe_button oe_field_button" type="button" title="Open this resource">
890                 <img t-att-src='_s + "/web/static/src/img/icons/gtk-ok.png"'/>
891             </button>
892         </td>
893     </tr>
894     </table>
895 </t>
896 <t t-name="FieldText">
897     <textarea rows="6"
898         t-att-name="widget.name"
899         t-att-id="widget.element_id"
900         t-attf-class="field_#{widget.type}"
901         style="width: 100%"
902     ></textarea><img class="oe_field_translate oe_input_icon" t-if="widget.field.translate" t-att-src='_s + "/web/static/src/img/icons/terp-translate.png"' width="16" height="16" border="0"/>
903 </t>
904 <t t-name="web.datetimepicker">
905     <div class="oe_datepicker_root">
906         <input type="text" size="1" class="oe_datepicker_container" disabled="disabled" style="display: none;"/>
907         <input type="text" size="1" style="width: 100%"
908             t-att-name="widget.name"
909             t-attf-class="oe_datepicker_master field_#{widget.type_of_date}"
910         /><img class="oe_input_icon oe_datepicker_trigger" t-att-src='_s + "/web/static/src/img/ui/field_calendar.png"'
911              title="Select date" width="16" height="16" border="0"/>
912     </div>
913 </t>
914 <t t-name="FieldSelection">
915     <select
916         t-att-name="widget.name"
917         t-att-id="widget.element_id"
918         t-attf-class="field_#{widget.type}"
919         style="width: 100%">
920             <t t-foreach="widget.values" t-as="option">
921                 <option><t t-esc="option[1]"/></option>
922             </t>
923     </select>
924 </t>
925 <t t-name="FieldMany2One">
926     <table cellpadding="0" cellspacing="0" border="0" width="100%">
927     <tr>
928         <td width="100%" valign="top">
929             <t t-call="FieldChar"/>
930             <span class="oe-m2o-drop-down-button">
931                 <img t-att-src='_s + "/web/static/src/img/down-arrow.png"' /></span>
932         </td>
933         <td>
934             <button class="oe_button oe_field_button oe-m2o-cm-button" t-att-id="widget.name + '_open'">
935                 <img t-att-src='_s + "/web/static/src/img/icons/STOCK_DIRECTORY.png"'/>
936             </button>
937             <div t-att-id="widget.cm_id" class="contextMenu" style="display:none">
938             </div>
939         </td>
940     </tr>
941     </table>
942 </t>
943 <t t-name="FieldMany2One.context_menu">
944     <ul>
945         <li t-att-id="widget.cm_id + '_open'" style="color:grey" class="oe_m2o_menu_item_mandatory">Open...</li>
946         <li t-att-id="widget.cm_id + '_create'" class="oe_m2o_menu_item_noreadonly">Create...</li>
947         <li t-att-id="widget.cm_id + '_search'" class="oe_m2o_menu_item_noreadonly">Search...</li>
948         <t t-set="i" t-value="0"/>
949         <t t-foreach="widget.related_entries" t-as="entry">
950             <li t-att-id="widget.cm_id + '_related_' + i" style="color:grey" class="oe_m2o_menu_item_mandatory">
951                 ... <t t-esc="(entry[2] || {})['name'] || ''"/>
952             </li>
953             <t t-set="i" t-value="i+1"/>
954         </t>
955     </ul>
956 </t>
957 <t t-name="FieldOne2Many">
958 </t>
959 <t t-name="FieldMany2Many">
960     <div t-att-id="widget.list_id"></div>
961 </t>
962 <t t-name="FieldReference">
963     <table border="0" width="100%" cellpadding="0" cellspacing="0" class="oe_frame oe_forms">
964     <tr>
965         <td t-attf-class="oe_form_frame_cell oe_form_selection #{widget.selection.element_class}">
966             <t t-raw="widget.selection.render()"/>
967         </td>
968         <td t-attf-class="oe_form_frame_cell oe_form_many2one #{widget.m2o.element_class}" nowrap="true" style="display: none">
969             <t t-raw="widget.m2o.render()"/>
970         </td>
971     </tr>
972     </table>
973 </t>
974 <t t-name="FieldBoolean">
975     <input type="checkbox"
976         t-att-name="widget.name"
977         t-att-id="widget.element_id"
978         t-attf-class="field_#{widget.type}"/>
979 </t>
980 <t t-name="FieldProgressBar">
981     <div t-opentag="true" class="oe-progressbar">
982         <span></span>
983     </div>
984 </t>
985 <t t-name="FieldBinaryImage">
986     <table cellpadding="0" cellspacing="0" border="0">
987     <tr>
988         <td align="center">
989             <img t-att-src='_s + "/web/static/src/img/placeholder.png"' class="oe-binary-image"
990                 t-att-border="widget.readonly ? 0 : 1"
991                 t-att-id="widget.element_id + '_field'"
992                 t-att-name="widget.name"
993                 t-attf-class="field_#{widget.type}"
994                 t-att-width="widget.node.attrs.img_width || widget.node.attrs.width"
995                 t-att-height="widget.node.attrs.img_height || widget.node.attrs.height"
996             />
997         </td>
998     </tr>
999     <tr>
1000         <td align="center" valign="bottom" height="25">
1001             <div class="oe-binary">
1002                 <table cellspacing="0" cellpadding="0" border="0">
1003                 <tr>
1004                     <td>
1005                         <div class="oe-binary-file-set" style="width: 40px; height:22px;">
1006                             <form class="oe-binary-form" t-att-target="widget.iframe"
1007                                 method="post" enctype="multipart/form-data" action="/web/binary/upload">
1008                                 <input type="hidden" name="session_id" value=""/>
1009                                 <input type="hidden" name="callback" t-att-value="widget.iframe"/>
1010                                 <button class="oe_button" type="button" title="Set Image">
1011                                     <img t-att-src='_s + "/web/static/src/img/icons/STOCK_DIRECTORY.png"'/>
1012                                 </button>
1013                                 <input type="file" class="oe-binary-file" name="ufile"/>
1014                             </form>
1015                         </div>
1016                     </td>
1017                     <td>
1018                         <button class="oe_button oe-binary-file-clear" type="button" title="Clear">
1019                             <img t-att-src='_s + "/web/static/src/img/icons/STOCK_MISSING_IMAGE.png"'/>
1020                         </button>
1021                     </td>
1022                 </tr>
1023                 </table>
1024             </div>
1025             <div class="oe-binary-progress" style="display: none">
1026                 <img t-att-src='_s + "/web/static/src/img/throbber.gif"' width="16" height="16"/>
1027                 <b>Uploading ...</b>
1028             </div>
1029             <iframe t-att-id="widget.iframe" t-att-name="widget.iframe" style="display: none"> </iframe>
1030         </td>
1031     </tr>
1032     </table>
1033 </t>
1034 <t t-name="FieldBinaryFile">
1035     <table cellpadding="0" cellspacing="0" border="0" width="100%">
1036     <tr>
1037         <td width="100%">
1038             <input type="text" size="1" readonly="readonly"
1039                 t-att-name="widget.name"
1040                 t-att-id="widget.element_id + '_field'"
1041                 t-attf-class="field_#{widget.type}" style="width: 100%"
1042             />
1043         </td>
1044         <td class="oe-binary" nowrap="true">
1045             <table cellspacing="0" cellpadding="0" border="0">
1046             <tr>
1047                 <td>
1048                     <div class="oe-binary-file-set" style="width: 80px; height:22px;">
1049                         <form class="oe-binary-form" t-att-target="widget.iframe"
1050                             method="post" enctype="multipart/form-data" action="/web/binary/upload">
1051                             <input type="hidden" name="session_id" value=""/>
1052                             <input type="hidden" name="callback" t-att-value="widget.iframe"/>
1053                             <button class="oe_button oe_field_button" type="button" title="Set Image">
1054                                 <img t-att-src='_s + "/web/static/src/img/icons/STOCK_DIRECTORY.png"'/>
1055                                 <span>Select</span>
1056                             </button>
1057                             <input type="file" class="oe-binary-file" name="ufile"/>
1058                         </form>
1059                     </div>
1060                 </td>
1061                 <td>
1062                     <button class="oe_button oe-binary-file-save" type="button" title="Save As">
1063                         <img t-att-src='_s + "/web/static/src/img/icons/gtk-save.png"'/>
1064                         <span>Save As</span>
1065                     </button>
1066                 </td>
1067                 <td>
1068                     <button class="oe_button oe-binary-file-clear" type="button" title="Clear">
1069                         <img t-att-src='_s + "/web/static/src/img/icons/STOCK_MISSING_IMAGE.png"'/>
1070                         <span>Clear</span>
1071                     </button>
1072                 </td>
1073             </tr>
1074             </table>
1075         </td>
1076         <td class="oe-binary-progress" style="display: none" nowrap="true">
1077             <img t-att-src='_s + "/web/static/src/img/throbber.gif"' width="16" height="16"/>
1078             <b>Uploading ...</b>
1079             <iframe t-att-id="widget.iframe" t-att-name="widget.iframe" style="display: none"> </iframe>
1080         </td>
1081     </tr>
1082     </table>
1083 </t>
1084 <t t-name="WidgetButton">
1085     <button type="button" class="oe_button">
1086         <img t-if="widget.node.attrs.icon" t-att-src="_s + '/web/static/src/img/icons/' + widget.node.attrs.icon + '.png'" width="16" height="16"/>
1087         <span t-if="widget.string"><t t-esc="widget.string"/></span>
1088     </button>
1089 </t>
1090 <t t-name="WidgetButton.tooltip" t-extend="WidgetLabel.tooltip">
1091     <t t-jquery="div.oe_tooltip_string" t-operation="replace">
1092         <div class="oe_tooltip_string" t-if="debug || widget.string">
1093             <t t-if="debug">
1094                 Button
1095                 <t t-if="widget.string">: </t>
1096                 <t t-if="!widget.string"> (no string)</t>
1097             </t>
1098             <t t-esc="widget.string"/>
1099         </div>
1100     </t>
1101     <t t-jquery="ul.oe_tooltip_technical" t-operation="append">
1102         <li t-if="widget.node.attrs.special" data-item="special">
1103             <span class="oe_tooltip_technical_title">Special:</span>
1104             <t t-esc="widget.node.attrs.special"/>
1105         </li>
1106         <t t-set="button_type" t-value="widget.node.attrs.type"/>
1107         <li t-if="button_type" data-item="button_type">
1108             <span class="oe_tooltip_technical_title">Button Type:</span>
1109             <t t-esc="button_type"/>
1110         </li>
1111         <li t-if="button_type === 'object'" data-item="button_method">
1112             <span class="oe_tooltip_technical_title">Method:</span>
1113             <t t-esc="widget.node.attrs.name"/>
1114         </li>
1115         <li t-if="button_type === 'action'" data-item="button_action">
1116             <span class="oe_tooltip_technical_title">Action ID:</span>
1117             <t t-esc="widget.node.attrs.name"/>
1118         </li>
1119     </t>
1120 </t>
1121
1122 <t t-name="SearchView">
1123     <form class="oe_forms">
1124         <t t-call="SearchView.render_lines"/>
1125         <div class="oe_search-view-buttons">
1126             <button class="oe_button">Search</button>
1127             <button class="oe_button" type="reset">Clear</button>
1128             <select class="oe_search-view-filters-management">
1129             </select>
1130         </div>
1131     </form>
1132 </t>
1133 <t t-name="SearchView.managed-filters">
1134     <option/>
1135     <optgroup label="-- Filters --">
1136         <t t-foreach="filters" t-as="filter">
1137             <option t-attf-value="get:#{filter_index}"><t t-esc="filter.name"/></option>
1138         </t>
1139     </optgroup>
1140     <optgroup label="-- Actions --">
1141         <option value="advanced_filter">Advanced Filter</option>
1142         <option value="save_filter">Save Filter</option>
1143         <option value="add_to_dashboard">Add to Dashboard</option>
1144         <option value="manage_filters">Manage Filters</option>
1145     </optgroup>
1146 </t>
1147 <t t-name="SearchView.managed-filters.add">
1148     <div>
1149         <p>Filter Name:</p>
1150         <input type="text"/>
1151         <p>(Any existing filter with the same name will be replaced)</p>
1152     </div>
1153 </t>
1154 <t t-name="SearchView.add_to_dashboard">
1155     <div class="oe_forms">
1156         <p><b>Select Dashboard to add this filter to:</b></p>
1157         <select style="width: 100%; margin-right: 1em;">
1158             <option t-foreach="dashboards" t-as="menu" t-att-value="menu.id" t-att-selected="(menu.id == selected_menu_id) || undefined"><t t-esc="menu.name"/></option>
1159         </select>
1160         <p><b>Title of new Dashboard item:</b></p>
1161         <input type="text" style="width: 100%; margin-right: 1em;"/>
1162     </div>
1163 </t>
1164 <t t-name="SearchView.render_lines">
1165     <table class="oe-searchview-render-line" border="0" cellspacing="0" cellpadding="0"
1166            t-foreach="lines" t-as="line">
1167         <tr>
1168             <td t-foreach="line" t-as="widget" class="oe_searchview_field">
1169                 <t t-raw="widget.render(defaults)"/>
1170             </td>
1171         </tr>
1172     </table>
1173 </t>
1174 <button t-name="SearchView.filter" type="button"
1175         t-att-id="element_id"
1176         t-att-title="attrs.help"
1177         t-att-class="classes.join(' ')"
1178         t-att-style="style"
1179         t-att-autofocus="attrs.default_focus === '1' ? 'autofocus' : undefined">
1180     <img t-att-src="_s + '/web/static/src/img/icons/' + (attrs.icon || 'gtk-home') + '.png'" width="16" height="16"/>
1181     <br t-if="attrs.string"/>
1182     <t t-esc="attrs.string"/>
1183 </button>
1184 <span t-name="SearchView.filters" class="filter_label_group"
1185     ><t t-foreach="filters" t-as="filter"
1186         ><t t-raw="filter.render(defaults)"/></t
1187 ></span>
1188 <t t-name="SearchView.field">
1189     <label t-att-class="'oe_label' + (attrs.help ? '_help' : '')"
1190            t-att-title="attrs.help"
1191            t-att-for="element_id"
1192            t-att-style="style">
1193         <t t-esc="attrs.string || attrs.name"/>
1194         <span t-if="attrs.help">?</span>
1195     </label>
1196     <div t-att-style="style">
1197         <input type="text" size="15" t-att-name="attrs.name"
1198                t-att-autofocus="attrs.default_focus === '1' ? 'autofocus' : undefined"
1199                t-att-id="element_id"
1200                t-att-value="defaults[attrs.name] || ''"/>
1201         <t t-if="filters.length" t-raw="filters.render(defaults)"/>
1202     </div>
1203 </t>
1204 <t t-name="SearchView.date">
1205     <label t-att-class="'oe_label' + (attrs.help ? '_help' : '')"
1206            t-att-title="attrs.help"
1207            t-att-for="element_id"
1208            t-att-style="style">
1209         <t t-esc="attrs.string || attrs.name"/>
1210         <span t-if="attrs.help">?</span>
1211     </label>
1212     <div t-att-style="style">
1213         <span t-att-id="element_id"></span>
1214         <t t-if="filters.length" t-raw="filters.render(defaults)"/>
1215     </div>
1216 </t>
1217 <t t-name="SearchView.field.selection">
1218     <label t-att-title="attrs.help"
1219            t-att-class="'oe_label' + (attrs.help ? '_help' : '')"
1220            t-att-for="element_id"
1221            t-att-style="style">
1222         <t t-esc="attrs.string || attrs.name"/>
1223         <span t-if="attrs.help">?</span>
1224     </label>
1225     <div t-att-style="style">
1226         <select t-att-name="attrs.name" t-att-id="element_id"
1227                 t-att-autofocus="attrs.default_focus === '1' || undefined">
1228             <option t-if="prepend_empty"/>
1229             <t t-foreach="attrs.selection" t-as="option">
1230                 <t t-set="selected" t-value="defaults[attrs.name] === option[0]"/>
1231                 <option t-if="selected"
1232                         t-att-value="option_index" selected="selected">
1233                     <t t-esc="option[1]"/>
1234                 </option>
1235                 <option t-if="!selected" t-att-value="option_index">
1236                     <t t-esc="option[1]"/>
1237                 </option>
1238             </t>
1239         </select>
1240         <t t-if="filters.length" t-raw="filters.render(defaults)"/>
1241     </div>
1242 </t>
1243 <t t-name="SearchView.util.expand">
1244     <div t-att-class="'searchview_group ' + (expand == '0' ? 'folded' : 'expanded')"
1245          t-att-id="element_id">
1246         <a t-if="label" class="searchview_group_string" href="#">
1247             <t t-esc="label"/>
1248         </a>
1249         <div class="searchview_group_content">
1250             <t t-raw="content"/>
1251         </div>
1252     </div>
1253 </t>
1254 <t t-name="SearchView.group">
1255     <t t-call="SearchView.util.expand">
1256         <t t-set="expand" t-value="attrs.expand"/>
1257         <t t-set="label" t-value="attrs.string"/>
1258         <t t-set="content">
1259             <t t-call="SearchView.render_lines"/>
1260         </t>
1261     </t>
1262 </t>
1263 <t t-name="SearchView.extended_search">
1264     <t t-call="SearchView.util.expand">
1265         <t t-set="expand" t-value="false"/>
1266         <t t-set="label">Advanced Filters</t>
1267         <t t-set="content">
1268             <div class="searchview_extended_groups_list">
1269             </div>
1270         </t>
1271     </t>
1272 </t>
1273 <t t-name="SearchView.extended_search.group">
1274     <div t-att-id="element_id" class="searchview_extended_group">
1275         <select class="searchview_extended_group_choice">
1276             <option value="any">Any of the following conditions must match</option>
1277             <option value="all">All the following conditions must match</option>
1278             <option value="none">None of the following conditions must match</option>
1279         </select>
1280         <a class="searchview_extended_delete_group"
1281                 href="javascript:void(0)"><span></span></a>
1282         <div class="searchview_extended_propositions_list">
1283         </div>
1284         <a class="searchview_extended_add_proposition" href="javascript:void(0)">
1285             <span>Add condition</span></a>
1286         <div class="oe_adv_filters_and"><span>and</span></div>
1287     </div>
1288 </t>
1289 <t t-name="SearchView.extended_search.proposition">
1290     <div t-att-id="element_id">
1291         <select class="searchview_extended_prop_field">
1292             <t t-foreach="attrs.fields" t-as="field">
1293                 <option t-if="typeof field.store === 'undefined' || field.store || field.fnct_search"
1294                         t-att="{'selected': field === attrs.selected ? 'selected' : null}"
1295                         t-att-value="field.name">
1296                     <t t-esc="field.string"/>
1297                 </option>
1298             </t>
1299         </select>
1300         <select class="searchview_extended_prop_op"/>
1301         <span class="searchview_extended_prop_value"/>
1302         <a class="searchview_extended_delete_prop"
1303                 href="javascript:void(0)"><span> </span></a>
1304     </div>
1305 </t>
1306 <t t-name="SearchView.extended_search.proposition.char">
1307     <input t-att-id="element_id" class="field_char"/>
1308 </t>
1309 <t t-name="SearchView.extended_search.proposition.empty">
1310     <span t-att-id="element_id"></span>
1311 </t>
1312 <t t-name="SearchView.extended_search.proposition.integer">
1313     <input type="number" t-att-id="element_id" class="field_integer" step="1"/>
1314 </t>
1315 <t t-name="SearchView.extended_search.proposition.float">
1316     <input type="number" t-att-id="element_id" class="field_float" step="0.01"/>
1317 </t>
1318 <t t-name="SearchView.extended_search.proposition.boolean">
1319 </t>
1320 <t t-name="SearchView.extended_search.proposition.selection">
1321     <select t-att-id="element_id">
1322         <t t-foreach="field.selection" t-as="element">
1323         <option t-att-value="element[0]"><t t-esc="element[1]"/></option>
1324         </t>
1325     </select>
1326 </t>
1327 <t t-name="DialogWarning">
1328     <table cellspacing="0" cellpadding="0" border="0" class="oe-dialog-warning">
1329     <tr>
1330         <td><img t-att-src='_s + "/web/static/src/img/warning.png"' class="oe-dialog-icon"/></td>
1331         <td>
1332             <p>
1333                 <t t-js="d">
1334                     var message = d.message ? d.message : d.error.data.fault_code;
1335                     d.html_error = context.engine.tools.html_escape(message)
1336                         .replace(/\n/g, '<br/>');
1337                 </t>
1338                 <t t-raw="html_error"/>
1339             </p>
1340         </td>
1341     </tr>
1342     </table>
1343 </t>
1344 <t t-name="DialogTraceback">
1345     <pre><t t-esc="error.message"/></pre>
1346     <hr/>
1347     <pre><t t-esc="error.data.debug"/></pre>
1348 </t>
1349 <t t-name="SelectCreatePopup">
1350     <div t-att-id="element_id">
1351         <table style="width:100%">
1352             <tr style="width:100%">
1353                 <td style="width:100%">
1354                     <div t-att-id="element_id + '_search'" style="width:100%"></div>
1355                 </td>
1356             </tr>
1357             <tr style="width:100%">
1358                 <td style="width:100%">
1359                     <div t-att-id="element_id + '_view_list'" style="width:100%"></div>
1360                 </td>
1361             </tr>
1362         </table>
1363         <div t-att-id="element_id + '_view_form'" style="width:100%"></div>
1364     </div>
1365 </t>
1366 <t t-name="SelectCreatePopup.search.buttons">
1367     <button type="button" class="oe_button oe_selectcreatepopup-search-select" disabled="disabled">Select</button>
1368     <button type="button" class="oe_button oe_selectcreatepopup-search-close">Cancel</button>
1369 </t>
1370 <t t-name="SelectCreatePopup.form.buttons">
1371     <t t-if="widget.options.disable_multiple_selection">
1372         <button type="button" class="oe_button oe_selectcreatepopup-form-save">Save</button>
1373     </t>
1374     <t t-if="! widget.options.disable_multiple_selection">
1375         <button type="button" class="oe_button oe_selectcreatepopup-form-save-new">Save &amp; New</button>
1376         <button type="button" class="oe_button oe_selectcreatepopup-form-save">Save &amp; Close</button>
1377     </t>
1378     <button type="button" class="oe_button oe_selectcreatepopup-form-close">Cancel</button>
1379 </t>
1380 <t t-name="FormOpenPopup">
1381     <div t-att-id="element_id">
1382         <div t-att-id="element_id + '_view_form'" style="width:100%"></div>
1383     </div>
1384 </t>
1385 <t t-name="FormOpenPopup.form.buttons">
1386     <button type="button" class="oe_button oe_formopenpopup-form-save">Save</button>
1387     <button type="button" class="oe_button oe_formopenpopup-form-close">Cancel</button>
1388 </t>
1389 <t t-extend="ListView.row">
1390     <!-- adds front & back padding to row being rendered after edition, if
1391          necessary (if not selectable add front padding and if not deletable
1392          add back padding), otherwise the row being added is missing columns
1393      -->
1394     <t t-jquery="&gt; :first" t-operation="before">
1395         <td t-if="edited and !options.selectable" class="oe-listview-padding"/>
1396         <td t-if="edited and !options.isClarkGable" class="oe-listview-padding"/>
1397     </t>
1398     <t t-jquery="&gt; :last" t-operation="after">
1399         <td t-if="edited and !options.deletable" class="oe-listview-padding"/>
1400     </t>
1401 </t>
1402 <t t-name="ListView.row.frame" t-extend="WidgetFrame">
1403     <t t-jquery="tr">
1404         $(document.createElement('t'))
1405             .append(this.contents())
1406             .attr({
1407                 't-foreach': this.attr('t-foreach'),
1408                 't-as': this.attr('t-as')
1409             })
1410             .replaceAll(this)
1411             .after($(document.createElement('td')).append(
1412                 $(document.createElement('button')).attr({
1413                     'class': 'oe-edit-row-save', 'type': 'button'})
1414                   .html(' ')))
1415             .unwrap();
1416     </t>
1417 </t>
1418 <t t-name="view_editor">
1419     <table class="oe_view_editor">
1420         <t t-call="view_editor.row"/>
1421     </table>
1422 </t>
1423 <t t-name="view_editor.row">
1424     <tr  class="oe_view_editor_row" t-att-id="'viewedit-' + rec.id"  t-att-level="rec.level" t-foreach="data" t-as="rec">
1425         <td class="oe_view_editor_colum"  width="85%">
1426             <table class="oe_view_editor_tree_grid">
1427                 <tr>
1428                     <td width="16px" t-att-style="'background-position: ' + 20*rec.level + 'px; padding-left: ' + 20*rec.level + 'px'">
1429                         <img t-if="rec.child_id.length" t-att-id="'parentimg-' + rec.id"
1430                             src="/web/static/src/img/collapse.gif" width="16" height="16" border="0"/>
1431                     </td>
1432                     <td style="cursor: pointer;">
1433                         <a style="text-decoration:none" href="javascript:void(0);">
1434                             <t t-esc="rec.name"/>
1435                         </a>
1436                     </td>
1437                 </tr>
1438             </table>
1439         </td>
1440         <td align="left" class="oe_view_editor_colum"  width="15%">
1441             <table width="100%">
1442                 <tr>
1443                     <td width="20%">
1444                         <img t-if="rec.att_list.length"
1445                             id="side-add" src="/web/static/src/img/icons/gtk-add.png" style="cursor: pointer;"/>
1446                     </td>
1447                     <td width="20%">
1448                         <img  id="side-remove" src="/web/static/src/img/icons/gtk-remove.png" style="cursor: pointer;"/>
1449                     </td>
1450                     <td width="20%">
1451                         <img t-if="rec.att_list.length and !_.include(no_properties, rec.att_list[0])"
1452                             id="side-edit" src="/web/static/src/img/icons/gtk-edit.png" style="cursor: pointer;"/>
1453                     </td>
1454                     <td width="20%">
1455                         <img t-if="rec.att_list.length"
1456                             id="side-up" src="/web/static/src/img/icons/gtk-go-up.png" style="cursor: pointer;"/>
1457                     </td>
1458                     <td width="20%">
1459                         <img t-if="rec.att_list.length"
1460                             id="side-down" src="/web/static/src/img/icons/gtk-go-down.png" style="cursor: pointer;"/>
1461                     </td>
1462                 </tr>
1463             </table>
1464         </td>
1465         <t t-if="rec.child_id.length">
1466             <t t-set="data" t-value="rec.child_id"/>
1467             <t t-call="view_editor.row"/>
1468         </t>
1469     </tr>
1470 </t>
1471 <t t-name="vieweditor_char">
1472     <input type="text" t-att-id="widget.name" class="field_char" size="50"/>
1473 </t>
1474 <t t-name="vieweditor_selection">
1475     <select t-att-id="widget.name" >
1476         <t t-if="widget.selection" t-foreach="widget.selection" t-as="option">
1477             <option
1478                 t-att-value="typeof option === 'object' ? option[0] : option">
1479                 <t t-esc="typeof option === 'object' ? option[1] : option"/>
1480             </option>
1481         </t>
1482     </select>
1483 </t>
1484 <t t-name="vieweditor_boolean">
1485     <input type="checkbox" t-att-id="widget.name"/>
1486 </t>
1487 <t t-name="ExportView">
1488     <a id="exportview" href="javascript: void(0)" style="text-decoration: none;color: #3D3D3D;">Export</a>
1489 </t>
1490 <table t-name="ExportTreeView" class="oe-export"
1491        style="background-color: #F3F3F3;">
1492     <tr>
1493         <td colspan="3">
1494             This wizard will export all data that matches the current search criteria to a CSV file.
1495             You can export all data or only the fields that can be reimported after modification.
1496         </td>
1497     </tr>
1498     <tr>
1499         <td colspan="3">
1500             <label for="import_compat">Export Type:</label>
1501             <select id="import_compat" name="import_compat">
1502                 <option value="yes">Import Compatible Export</option>
1503                 <option value="">Export all Data</option>
1504             </select>
1505
1506             <label for="export_format">Export Formats</label>
1507             <select id="export_format" name="export_format"></select>
1508         </td>
1509     </tr>
1510
1511     <tr>
1512         <th>Available fields</th>
1513         <th/>
1514         <th>
1515             Fields to export
1516             <a style="color: blue; text-decoration: none;" href="#" id="export_new_list">Save fields list</a>
1517             <div id="savenewlist"></div>
1518             <div id="ExistsExportList"></div>
1519         </th>
1520     </tr>
1521     <tr style="height: 400px;">
1522         <td class="oe_export_fields_selector_left">
1523             <div id="left_field_panel">
1524             </div>
1525         </td>
1526         <td class="oe_export_fields_selector_center">
1527             <!-- TODO: replace ids by 'oe_*' classes -->
1528             <button class="oe_button" id="add_field">Add</button>
1529             <button class="oe_button" id="remove_field">Remove</button>
1530             <button class="oe_button" id="remove_all_field">Remove All</button>
1531         </td>
1532         <td class="oe_export_fields_selector_right">
1533             <select name="fields_list" id="fields_list"
1534                     multiple="multiple"></select>
1535         </td>
1536     </tr>
1537 </table>
1538
1539 <table t-name="ExportTreeView-Secondary"
1540        id="field-tree-structure" class="oe_export_fields_selector_export"
1541        cellspacing="0" cellpadding="0">
1542     <tr><th class="oe_export_tree_header"> Name </th></tr>
1543     <t t-call="ExportTreeView-Secondary.children"/>
1544 </table>
1545 <tr t-name="ExportTreeView-Secondary.children"
1546     t-foreach="fields" t-as="field"
1547     t-att-id="'treerow-' + field.id" class="oe_export_row">
1548     <td>
1549         <table class="tree_grid" border="0">
1550             <tr class="oe_export_row">
1551                 <t t-foreach="(field.id).split('/')" t-as="level" >
1552                     <t t-if="(field.id).split('/')[0] != level">
1553                         <td width="18">&amp;nbsp;</td>
1554                     </t>
1555                 </t>
1556                 <td valign="top" align="left" style="cursor: pointer;" width="18">
1557                     <t t-if="field.children">
1558                         <t t-if="(field.id).split('/').length != 3">
1559                             <img t-att-id="'parentimg-' + field.id" t-att-src='_s + "/web/static/src/img/expand.gif"' width="16" height="16" border="0"/>
1560                         </t>
1561                     </t>
1562                 </td>
1563                 <td id="tree-column" valign="middle" align="left" style="cursor: pointer;">
1564                     <a t-att-id="'export-' + field.id"  t-att-string="field.string" href="javascript: void(0);" style="text-decoration: none;">
1565                         <t t-esc="field.string"/>
1566                     </a>
1567                 </td>
1568             </tr>
1569         </table>
1570     </td>
1571 </tr>
1572
1573 <t t-name="ExportNewList">
1574     <tr>
1575         <th><label>Save as:</label></th>
1576         <td><input size="10" type="text" id="savelist_name"/></td>
1577         <td><button class="oe_button oe_export_button_export" id="add_export_list">Ok</button></td>
1578     </tr>
1579 </t>
1580
1581 <t t-name="Exists.ExportList">
1582     <label for="saved_export_list">Saved exports:</label>
1583
1584     <select id="saved_export_list">
1585         <option></option>
1586         <t t-foreach="existing_exports" t-as="export">
1587             <option t-att-value="export.id"><t t-esc="export.name"/></option>
1588         </t>
1589     </select>
1590     <button class="oe_button oe_export_button_export" id="delete_export_list" type="button">Delete</button>
1591 </t>
1592 <t t-name="Change_Pwd">
1593     <form name="change_password_form" class="oe_forms" method="POST">
1594         <table align="center">
1595             <tr>
1596                 <td><label for="old_pwd">Old Password:</label></td>
1597                 <td><input type="password" name="old_pwd"
1598                            minlength="1" autofocus="autofocus"/></td>
1599             </tr>
1600             <tr>
1601             <td><label for="new_password">New Password:</label></td>
1602             <td><input type="password" name="new_password"
1603                        minlength="1" autofocus="autofocus"/></td>
1604             </tr>
1605             <tr>
1606                 <td><label for="confirm_pwd">Confirm Password:</label></td>
1607                 <td><input type="password" name="confirm_pwd"
1608                              minlength="1"/></td>
1609             </tr>
1610             <tr>
1611                 <td colspan="2" align="right"><button class="oe_button">Change Password</button></td>
1612             </tr>
1613         </table>
1614     </form>
1615 </t>
1616
1617 <t t-name="ImportView">
1618     <a id="importview" href="javascript: void(0)" style="text-decoration: none;color: #3D3D3D;">Import</a>
1619 </t>
1620 <t t-name="ImportDataView">
1621 <form name="import_data" id="import_data" action="" method="post" enctype="multipart/form-data"
1622         class="oe-import oe-import-no-result">
1623     <input type="hidden" name="session_id" t-att-value="session.session_id"/>
1624     <h2 class="separator horizontal">1. Import a .CSV file</h2>
1625     <p>Select a .CSV file to import. If you need a sample of file to import,
1626        you should use the export tool with the "Import Compatible" option.
1627     </p>
1628     <p>
1629         <label for="csvfile">CSV File:</label>
1630         <input type="file" id="csvfile" size="50" name="csvfile"/>
1631     </p>
1632     <h2 class="separator horizontal oe-import-result">2. Check your file format</h2>
1633     <div id="result" class="oe-import-result"></div>
1634     <fieldset class="oe-closed oe-import-result">
1635         <legend>Import Options</legend>
1636         <table>
1637             <tr>
1638                 <td colspan="4">
1639                     <label for="file_has_headers">Does your file have titles?</label>
1640                     <input type="checkbox" checked="checked"
1641                            id="file_has_headers"/>
1642                 </td>
1643             </tr>
1644             <tr>
1645                 <td><label for="csv_separator">Separator:</label></td>
1646                 <td><input type="text" name="csvsep" id="csv_separator" value=","/></td>
1647                 <td><label for="csv_delimiter">Delimiter:</label></td>
1648                 <td><input type="text" name="csvdel" id="csv_delimiter" value='"'/></td>
1649             </tr>
1650             <tr>
1651                 <td><label for="csv_encoding">Encoding:</label></td>
1652                 <td>
1653                     <select name="csvcode" id="csv_encoding">
1654                         <option value="utf-8">UTF-8</option>
1655                         <option value="latin1">Latin 1</option>
1656                     </select>
1657                 </td>
1658                 <td><label for="csv_skip" title="For use if CSV files have titles on multiple lines, skips more than a single line during import">
1659                     Lines to skip<sup>?</sup>:</label></td>
1660                 <td><input type="number" id="csv_skip" value="0" min="0"/></td>
1661             </tr>
1662         </table>
1663     </fieldset>
1664 </form>
1665 </t>
1666 <t t-name="ImportView.result">
1667     <table class="oe_import_grid" width="100%" style="margin: 5px 0;">
1668         <tr t-if="headers" class="oe_import_grid-header">
1669             <td t-foreach="headers" t-as="header" class="oe_import_grid-cell">
1670                 <t t-esc="header"/></td>
1671         </tr>
1672         <tr>
1673             <td t-foreach="records[0]" t-as="column">
1674                 <input class="sel_fields" placeholder="--- Don't Import ---"/><span class="oe-m2o-drop-down-button">
1675                         <img t-att-src='_s + "/web/static/src/img/down-arrow.png"' /></span>
1676             </td>
1677         </tr>
1678         <tr t-foreach="records" t-as="record" class="oe_import_grid-row">
1679             <td t-foreach="record" t-as="cell" class="oe_import_grid-cell">
1680                 <t t-esc="cell"/></td>
1681         </tr>
1682     </table>
1683 </t>
1684 <t t-name="ImportView.error">
1685     <p style="white-space:pre;">The import failed due to:<t t-esc="error.message"/></p>
1686     <t t-if="error.preview">
1687         <p>Here is a preview of the file we could not import:</p>
1688         <pre><t t-esc="error.preview"/></pre>
1689     </t>
1690 </t>
1691
1692 <t t-name="About-Page">
1693     <div>
1694         <h1>OpenERP Web</h1>
1695         <h3 style="padding:0 5px 5px">Version <t t-esc="version_info.version"/></h3>
1696         <p>
1697             Copyright © 2011-TODAY OpenERP SA. All Rights Reserved.<br />
1698             OpenERP is a trademark of the <a target="_blank" href="http://openerp.com/" style="text-decoration: underline;">OpenERP SA Company</a>.
1699         </p>
1700         <p>
1701             Licenced under the terms of <a target="_blank" href="http://www.gnu.org/licenses/agpl.html" style="text-decoration: underline;">GNU Affero General Public License</a>
1702         </p>
1703         <br />
1704         <h1>About OpenERP</h1>
1705         <p>
1706             <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
1707             productivity and profit through data integration. It connects, improves and
1708             manages business processes in areas such as sales, finance, supply chain,
1709             project management, production, services, CRM, etc...
1710         </p>
1711         <p>
1712             The system is platform-independent, and can be installed on Windows, Mac OS X,
1713             and various Linux and other Unix-based distributions. Its architecture enables
1714             new functionality to be rapidly created, modifications to be made to a
1715             production system and migration to a new version to be straightforward.
1716         </p>
1717         <p>
1718             Depending on your needs, OpenERP is available through a web or application client.
1719         </p>
1720     </div>
1721 </t>
1722 <t t-name="FieldStatus.content">
1723     <ul class="oe-arrow-list">
1724         <t t-set="size" t-value="widget.to_show.length"/>
1725         <t t-foreach="_.range(size)" t-as="i">
1726             <li t-att-class="widget.to_show[i][0] === widget.selected_value ? 'oe-arrow-list-selected' : ''">
1727                 <span class="oe-arrow-list-before" t-if="i &gt; 0"></span><span><t t-esc="widget.to_show[i][1]"/></span><span class="oe-arrow-list-after" t-if="i &lt; size - 1"></span>
1728             </li>
1729         </t>
1730     </ul>
1731 </t>
1732 <t t-name="EmptyComponent">
1733     <div></div>
1734 </t>
1735 </templates>