<!-- vim:fdl=1:
-->
<templates id="template" xml:space="preserve">
-<t t-name="Interface">
- <div id="oe_loading" class="loading"></div>
- <div id="oe_notification" class="oe_notification">
+<t t-name="Notification">
+ <div class="oe_notification">
<div id="oe_notification_default">
<a class="ui-notify-cross ui-notify-close" href="#">x</a>
<h1>#{title}</h1>
<p>#{text}</p>
</div>
</div>
+</t>
+<t t-name="Interface">
+ <div id="oe_loading" class="loading"></div>
<table border="0" cellpadding="0" cellspacing="0" width="100%" height="100%" class="main_table">
<tr>
<td colspan="2" valign="top">
</table>
</form>
</t>
+
+<t t-name="Login_dblist">
+ <select name="db">
+ <t t-foreach="db_list" t-as="db">
+ <t t-if="selected_db === db">
+ <option t-att-value="db" selected="true">
+ <t t-esc="db"/></option>
+ </t>
+ <t t-if="selected_db !== db">
+ <option t-att-value="db"><t t-esc="db"/></option>
+ </t>
+ </t>
+ </select>
+</t>
+
<t t-name="Login">
+ <div>
<form class="oe_forms">
<fieldset>
<legend style="">
<tr>
<td><label for="db">Database:</label></td>
<td>
- <t t-if="!db_list">
- <input type="text" name="db" t-att-value="selected_db || ''" autofocus="true"/>
- </t>
- <t t-if="db_list">
- <select name="db">
- <t t-foreach="db_list" t-as="db">
- <t t-if="selected_db === db">
- <option t-att-value="db" selected="true">
- <t t-esc="db"/></option>
- </t>
- <t t-if="selected_db !== db">
- <option t-att-value="db"><t t-esc="db"/></option>
- </t>
- </t>
- </select>
- </t>
+ <input type="text" name="db" t-att-value="widget.selected_db || ''" autofocus="true"/>
</td>
</tr>
<tr>
<td><label for="login">User:</label></td>
<td><input type="text" name="login"
- t-att-value="selected_login || ''" autofocus="true"/></td>
+ t-att-value="widget.selected_login || ''" autofocus="true"/></td>
</tr>
<tr>
<td><label for="password">Password:</label></td>
<td><input type="password" name="password"
- t-att-value="selected_password || ''"/></td>
+ t-att-value="widget.selected_password || ''"/></td>
</tr>
<tr>
<td></td>
</table>
</div>
+ </div>
</t>
<t t-name="Header">
<div>
<li>
<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>
</li>
- <!--
- <li>
- <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>
- </li>
- -->
<li class="preferences">
- <a href="#preferences" title="Preferences" class="preferences"><img src="/web/static/src/img/header-preferences.png" width="16" height="16" border="0"/></a>
+ <a href="javascript:void(0)" title="Preferences" class="preferences"><img src="/web/static/src/img/header-preferences.png" width="16" height="16" border="0"/></a>
</li>
<li>
- <a href="#about" title="About" class="about"><img src="/web/static/src/img/header-about.png" width="16" height="16" border="0"/></a>
+ <a href="javascript:void(0)" title="About" class="about"><img src="/web/static/src/img/header-about.png" width="16" height="16" border="0"/></a>
</li>
- <!--
- <li>
- <a href="http://doc.openerp.com/v6.0/book?version=$version" title="Help" target="_blank" class="help"><img src="/web/static/src/img/header-help.png" width="16" height="16" border="0"/></a>
- </li>
- -->
</ul>
<div class="block">
<a href="#logout" class="logout">LOGOUT</a>
</t>
<t t-name="Menu.secondary.children">
<t t-set="level" t-value="level + 1"/>
- <a href="#" t-att-class="classname + (menu.children.length ? ' submenu' : ' leaf') + ' oe_menu_level_#{level}'" t-att-data-menu="menu.children.length ? undefined : menu.id">
+ <a href="#" t-att-id="menu.children.length ? 'menu_' + menu.id : undefined"
+ t-att-class="classname + (menu.children.length ? ' submenu' : ' leaf') + (menu_first and level == 1 ? ' opened' : '')"
+ t-att-data-menu="menu.children.length ? undefined : menu.id">
<span t-attf-style="padding-left: #{(level - 2) * 20}px"> <t t-esc="menu.name"/></span>
</a>
- <div t-attf-class="oe_secondary_submenu oe_secondary_submenu_level_#{level}" t-if="menu.children.length" style="display: none">
+ <div t-attf-class="oe_secondary_submenu" t-if="menu.children.length" t-att-style="menu_first and level == 1 ? undefined : 'display: none'">
<t t-foreach="menu.children" t-as="menu">
<t t-set="classname">oe_secondary_submenu_item</t>
<t t-call="Menu.secondary.children"/>
<tr>
<td class="view-manager-main-content">
<div class="oe-view-manager-header">
+ <h2 class="oe_view_title" t-if="self.flags.display_title !== false">
+ <t t-esc="self.display_title()"/>
+ </h2>
<div class="oe_vm_switch">
<t t-if="views.length != 1" t-foreach="views" t-as="view">
<button type="button" t-att-data-view-type="view.view_type">
</blockquote>
<a class="oe-shortcut-toggle" title="Add / Remove Shortcut..."
href="javascript: void(0)"> </a>
- <h2 class="oe_view_title">
- <t t-esc="self.action.name"/>
- <button t-if="self.session.debug" class="oe_get_xml_view">
- View#<span></span>
- </button>
- </h2>
+ <button t-if="self.session.debug" class="oe_get_xml_view">
+ View#<span></span>
+ </button>
</t>
<t t-jquery=".oe-view-manager-header" t-operation="after">
<ul class="oe-view-manager-logs"></ul>
</div>
</t>
<t t-name="Sidebar.section">
- <h2><t t-esc="name"/></h2>
<div t-att-id="section_id" t-att-class="classname">
- <ul t-if="items">
+ <h2><t t-esc="name"/></h2>
+ </div>
+</t>
+
+
+<t t-name="Sidebar.section.items">
<li t-foreach="items" t-as="item" t-att-class="item.classname">
<a class="oe_sidebar_action_a" t-att-id="item.element_id" t-att-title="item.title" href="#">
<t t-esc="item.label"/>
</a>
</li>
- </ul>
- </div>
</t>
+
<t t-name="TranslateDialog">
<ul class="oe_translate_tabs">
<li><a t-attf-href="##{widget.element_id}_fields">Fields</a></li>
<td t-foreach="fields_view" t-as="field"
t-if="!field.attrs.modifiers.tree_invisible"
t-att-data-id="record.id"
- t-att-style="!field_index ? 'background-position: ' + 19*level + 'px; padding-left: ' + 19*level + 'px' : undefined"
+ t-att-style="color_for(record) + (!field_index ? 'background-position: ' + 19*level + 'px; padding-left: ' + 19*level + 'px;' : '')"
t-att-class="!field_index and has_children ? 'treeview-tr' : 'treeview-td'">
<span t-if="!field.attrs.modifiers.invisible">
<t t-esc="render(record[field.attrs.name], fields[field.attrs.name])" />
Delete
</button>
</td>
- <th t-if="options.pager !== false" class="oe-list-pager">
- <button type="button" disabled="disabled"
- data-pager-action="first">First</button>
- <button type="button" disabled="disabled"
- data-pager-action="previous"
- ><</button>
-
- <span class="oe-pager-state">
- </span>
-
- <button type="button" disabled="disabled"
- data-pager-action="next">></button>
- <button type="button" disabled="disabled"
- data-pager-action="last">Last</button>
- </th>
+ <t t-call="Listview.navigation.button"/>
</tr>
</table>
</th>
<t t-esc="column.string"/>
</th>
</t>
- <th t-if="options.selectable" width="1"/>
+ <th t-if="options.selectable" width="1" >
+ <input type="checkbox" class="all-record-selector"/> </th>
<t t-foreach="columns" t-as="column">
<th t-if="!column.meta and column.invisible !== '1'" t-att-data-id="column.id"
t-att-class="((options.sortable and column.tag !== 'button') ? 'oe-sortable' : null)">
</td>
<td t-if="options.deletable"/>
</tr>
+ <tr>
+ <t t-call="Listview.navigation.button"/>
+ </tr>
</tfoot>
</table>
+<th t-name="Listview.navigation.button" t-if="options.pager !== false"
+ class="oe-list-pager" t-att-colspan="columns_count">
+ <button type="button" disabled="disabled"
+ data-pager-action="first">First</button>
+ <button type="button" disabled="disabled"
+ data-pager-action="previous"><</button>
+
+ <span class="oe-pager-state">
+ </span>
+
+ <button type="button" disabled="disabled"
+ data-pager-action="next">></button>
+ <button type="button" disabled="disabled"
+ data-pager-action="last">Last</button>
+</th>
<t t-name="ListView.rows" t-foreach="records.length" t-as="index">
<t t-call="ListView.row">
<t t-set="record" t-value="records.at(index)"/>
</t>
</t>
<tr t-name="ListView.row" t-att-class="row_parity"
- t-att-data-id="record.get('id')">
+ t-att-data-id="record.get('id')"
+ t-att-style="view.color_for(record)">
<t t-foreach="columns" t-as="column">
<td t-if="column.meta">
</td>
</t>
- <th t-if="options.selectable" class="oe-record-selector" width="1">
- <input type="checkbox"/>
- </th>
+ <t t-if="options.radio">
+ <th t-if="options.selectable" class="oe-record-selector" width="1">
+ <input type="radio" name ="radiogroup"/>
+ </th>
+ </t>
+ <t t-if="!options.radio">
+ <th t-if="options.selectable" class="oe-record-selector" width="1">
+ <input type="checkbox"/>
+ </th>
+ </t>
+
+
<t t-foreach="columns" t-as="column">
<t t-set="align" t-value="column.type === 'integer' or column.type == 'float'"/>
<td t-if="!column.meta and column.invisible !== '1'" t-att-title="column.help"
t-att-class="'oe-field-cell' + (align ? ' oe-number' : '')"
t-att-data-field="column.id">
- <t t-raw="render_cell(record.toForm().data, column)"/>
+ <t t-raw="render_cell(record, column)"/>
</td>
</t>
<td t-if="options.deletable" class='oe-record-delete' width="1">
<t t-raw="frame.render()"/>
</t>
<t t-name="FormView">
- <div class="oe_form_header" t-att-id="view.element_id + '_header'">
- <div class="oe_form_buttons" t-if="view.options.action_buttons !== false">
- <!--<button type="button" class="oe_form_button_save">
+ <div class="oe_form_header">
+ <div class="oe_form_buttons" t-if="widget.options.action_buttons !== false">
+ <button type="button" class="oe_form_button_save">
<span class="oe_form_on_update">Save</span>
<span class="oe_form_on_create">Create</span>
- </button>-->
- <button type="button" class="oe_form_button_save_edit">
- <span class="oe_form_on_update">Save & Edit</span>
- <span class="oe_form_on_create">Create & Edit</span>
</button>
- <!--<button type="button" class="oe_form_button_cancel">Cancel</button>-->
<button type="button" class="oe_form_button_new">New</button>
<button type="button" class="oe_form_button_duplicate oe_form_on_update">Duplicate</button>
+ <button type="button" class="oe_form_button_toggle">Readonly/Editable</button>
</div>
- <div class="oe_form_pager" t-if="view.options.pager !== false">
+ <div class="oe_form_pager" t-if="widget.options.pager !== false">
<button type="button" data-pager-action="first">First</button>
<button type="button" data-pager-action="previous"><<</button>
t-att-width="td.width"
t-att-nowrap="td.nowrap or td.is_field_m2o? 'true' : undefined"
t-att-valign="td.table ? 'top' : undefined"
- t-att-id="td.element_id"
- t-attf-class="oe_form_frame_cell #{td.classname}"
+ t-attf-class="oe_form_frame_cell #{td.classname} #{td.element_class}"
>
<t t-raw="td.render()"/>
</td>
</t>
<t t-name="WidgetNotebook">
<ul>
- <li t-foreach="widget.pages" t-as="page" t-att-id="page.element_tab_id">
- <a t-att-href="'#' + page.element_id">
+ <li t-foreach="widget.pages" t-as="page">
+ <a href="#">
<t t-esc="page.string"/>
</a>
</li>
</t>
</t>
<t t-name="WidgetNotebookPage">
- <div t-att-id="widget.element_id">
+ <div>
<t t-call="WidgetFrame"/>
</div>
</t>
</div>
</t>
<t t-name="WidgetLabel">
- <label t-att-for="widget.element_id + '_field'"
- t-att-class="'oe_label' + (widget.help ? '_help' : '')"
+ <label t-att-for="widget.element_id"
+ t-attf-class="oe_label#{widget.help ? '_help' : ''} oe_align_#{widget.align}"
t-att-title="widget.help">
<t t-esc="widget.string"/>
<span t-if="widget.help">?</span>
</label>
</t>
<t t-name="WidgetParagraph">
- <p class="oe_form_paragraph"><t t-esc="widget.string"/></p>
+ <p t-attf-class="oe_form_paragraph oe_align_#{widget.align}"><t t-esc="widget.string"/></p>
</t>
<t t-name="FieldChar">
- <input type="text" size="1"
+ <input t-att-type="widget.password ? 'password' : 'text'" size="1"
t-att-name="widget.name"
- t-att-id="widget.element_id + '_field'"
- t-att-class="'field_' + widget.type"
+ t-att-id="widget.element_id"
+ t-attf-class="field_#{widget.type}"
t-attf-style="width: #{widget.field.translate ? '99' : '100'}%"
/>
<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"/>
</t>
+<t t-name="FieldChar.readonly">
+ <div
+ t-att-id="widget.element_id"
+ t-attf-class="field_#{widget.type}"
+ t-attf-style="width: #{widget.field.translate ? '99' : '100'}%">
+ </div>
+</t>
+<t t-name="FieldURI.readonly">
+ <a href="#">#</a>
+</t>
<t t-name="FieldEmail">
<table cellpadding="0" cellspacing="0" border="0" width="100%">
<tr>
<t t-name="FieldText">
<textarea rows="6"
t-att-name="widget.name"
- t-att-id="widget.element_id + '_field'"
- t-att-class="'field_' + widget.type"
+ t-att-id="widget.element_id"
+ t-attf-class="field_#{widget.type}"
t-attf-style="width: #{widget.field.translate ? '99' : '100'}%"
></textarea>
<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"/>
</t>
-<t t-name="FieldDate">
- <t t-call="FieldChar"/>
- <img class="oe_input_icon oe_datepicker_trigger" src="/web/static/src/img/ui/field_calendar.png"
- title="Select date" width="16" height="16" border="0"/>
- <div class="oe_datepicker ui-widget-content ui-corner-all" style="display: none; position: absolute; z-index: 1;">
- <div class="oe_datepicker_container"/>
- <button type="button" class="oe_datepicker_close ui-state-default ui-priority-primary ui-corner-all" style="float: right;">Done</button>
+<t t-name="web.datetimepicker">
+ <div class="oe_datepicker_root">
+ <input type="text" size="1" style="width: 100%"/>
+ <img class="oe_input_icon oe_datepicker_trigger" src="/web/static/src/img/ui/field_calendar.png"
+ title="Select date" width="16" height="16" border="0"/>
+ <div class="oe_datepicker ui-widget-content ui-corner-all" style="display: none; position: absolute; z-index: 1;">
+ <div class="oe_datepicker_container"/>
+ <button type="button" class="oe_datepicker_close ui-state-default ui-priority-primary ui-corner-all" style="float: right;">Done</button>
+ </div>
</div>
</t>
<t t-name="FieldSelection">
<select
t-att-name="widget.name"
- t-att-id="widget.element_id + '_field'"
- t-att-class="'field_' + widget.type"
+ t-att-id="widget.element_id"
+ t-attf-class="field_#{widget.type}"
style="width: 100%">
<t t-foreach="widget.values" t-as="option">
<option><t t-esc="option[1]"/></option>
</select>
</t>
<t t-name="FieldMany2One">
- <div t-att-id="widget.element_id" class="oe-m2o">
- <input t-att-id="widget.element_id + '_input'" type="text" size="1" style="width: 100%;"/>
- <span class="oe-m2o-drop-down-button" t-att-id="widget.element_id + '_drop_down'">
+ <div class="oe-m2o">
+ <input type="text" size="1" style="width: 100%;"
+ t-att-id="widget.element_id"/>
+ <span class="oe-m2o-drop-down-button">
<img src="/web/static/src/img/down-arrow.png" /></span>
<span class="oe-m2o-cm-button" t-att-id="widget.name + '_open'">
<img src="/web/static/src/img/icons/gtk-index.png"/></span>
</t>
<t t-name="FieldMany2One.context_menu">
<ul>
- <li t-att-id="widget.cm_id + '_open'" style="color:grey">Open...</li>
- <li t-att-id="widget.cm_id + '_create'">Create...</li>
- <li t-att-id="widget.cm_id + '_search'" class="oe_m2o_menu_item_mandatory">Search...</li>
+ <li t-att-id="widget.cm_id + '_open'" style="color:grey" class="oe_m2o_menu_item_mandatory">Open...</li>
+ <li t-att-id="widget.cm_id + '_create'" class="oe_m2o_menu_item_noreadonly">Create...</li>
+ <li t-att-id="widget.cm_id + '_search'" class="oe_m2o_menu_item_noreadonly">Search...</li>
<t t-set="i" t-value="0"/>
<t t-foreach="widget.related_entries" t-as="entry">
<li t-att-id="widget.cm_id + '_related_' + i" style="color:grey" class="oe_m2o_menu_item_mandatory">
</ul>
</t>
<t t-name="FieldOne2Many">
- <div t-att-id="widget.element_id">
- </div>
</t>
<t t-name="FieldMany2Many">
<div t-att-id="widget.list_id"></div>
<t t-name="FieldReference">
<table border="0" width="100%" cellpadding="0" cellspacing="0" class="oe_frame oe_forms">
<tr>
- <td t-att-id="widget.selection.element_id" class="oe_form_frame_cell oe_form_selection">
+ <td t-attf-class="oe_form_frame_cell oe_form_selection #{widget.selection.element_class}">
<t t-raw="widget.selection.render()"/>
</td>
- <td t-att-id="widget.m2o.element_id" class="oe_form_frame_cell oe_form_many2one" nowrap="true">
+ <td t-attf-class="oe_form_frame_cell oe_form_many2one #{widget.m2o.element_class}" nowrap="true" style="display: none">
<t t-raw="widget.m2o.render()"/>
</td>
</tr>
<t t-name="FieldBoolean">
<input type="checkbox"
t-att-name="widget.name"
- t-att-id="widget.element_id + '_field'"
- t-att-class="'field_' + widget.type"/>
+ t-att-id="widget.element_id"
+ t-attf-class="field_#{widget.type}"/>
</t>
<t t-name="FieldProgressBar">
<div t-opentag="true" class="oe-progressbar">
t-att-border="widget.readonly ? 0 : 1"
t-att-id="widget.element_id + '_field'"
t-att-name="widget.name"
- t-att-class="'field_' + widget.type"
+ t-attf-class="field_#{widget.type}"
t-att-width="widget.node.attrs.img_width || widget.node.attrs.width"
t-att-height="widget.node.attrs.img_height || widget.node.attrs.height"
/>
<input type="text" size="1"
t-att-name="widget.name"
t-att-id="widget.element_id + '_field'"
- t-att-class="'field_' + widget.type" style="width: 100%"
+ t-attf-class="field_#{widget.type}" style="width: 100%"
/>
</td>
<td class="oe-binary" nowrap="true">
</t>
<t t-name="WidgetButton">
<button type="button"
- t-att-id="widget.element_id + '_button'"
t-att-title="widget.help"
style="width: 100%" class="button">
<img t-if="widget.node.attrs.icon" t-att-src="'/web/static/src/img/icons/' + widget.node.attrs.icon + '.png'" width="16" height="16"/>
<t t-if="filters.length" t-raw="filters.render(defaults)"/>
</div>
</t>
+<t t-name="SearchView.date">
+ <label t-att-class="'oe_label' + (attrs.help ? '_help' : '')"
+ t-att-title="attrs.help"
+ t-att-for="element_id">
+ <t t-esc="attrs.string || attrs.name"/>
+ <span t-if="attrs.help">?</span>
+ </label>
+ <div style="white-space: nowrap;">
+ <span t-att-id="element_id"></span>
+ <t t-if="filters.length" t-raw="filters.render(defaults)"/>
+ </div>
+</t>
<t t-name="SearchView.field.selection">
<label t-att-title="attrs.help"
t-att-class="'oe_label' + (attrs.help ? '_help' : '')"
<div style="white-space: nowrap;">
<select t-att-name="attrs.name" t-att-id="element_id"
t-att-autofocus="attrs.default_focus === '1' || undefined">
- <option/>
+ <option t-if="prepend_empty"/>
<t t-foreach="attrs.selection" t-as="option">
<t t-set="selected" t-value="defaults[attrs.name] === option[0]"/>
<option t-if="selected"
- t-att-value="option[0]" selected="selected">
+ t-att-value="option_index" selected="selected">
<t t-esc="option[1]"/>
</option>
- <option t-if="!selected" t-att-value="option[0]">
+ <option t-if="!selected" t-att-value="option_index">
<t t-esc="option[1]"/>
</option>
</t>
<t t-name="SearchView.extended_search.proposition.char">
<input t-att-id="element_id" class="field_char"/>
</t>
-<t t-name="SearchView.extended_search.proposition.datetime">
- <input t-att-id="element_id" class="field_datetime"/>
-</t>
-<t t-name="SearchView.extended_search.proposition.date">
- <input t-att-id="element_id" class="field_date"/>
+<t t-name="SearchView.extended_search.proposition.empty">
+ <span t-att-id="element_id"></span>
</t>
<t t-name="SearchView.extended_search.proposition.integer">
<input type="number" t-att-id="element_id" class="field_integer" step="1"/>
.unwrap();
</t>
</t>
+<t t-name="view_editor">
+ <table class="oe_view_editor">
+ <t t-call="view_editor.row"/>
+ </table>
+</t>
+<tr t-name="view_editor.row" class="oe_view_editor_row" t-att-id="'viewedit-' + rec.id" t-att-level="rec.level" t-foreach="data" t-as="rec">
+ <td class="oe_view_editor_colum" width="85%">
+ <table class="oe_view_editor_tree_grid">
+ <tr>
+ <td width="16px" t-att-style="'background-position: ' + 20*rec.level + 'px; padding-left: ' + 20*rec.level + 'px'">
+ <img t-if="rec.child_id.length" t-att-id="'parentimg-' + rec.id"
+ src="/web/static/src/img/collapse.gif" width="16" height="16" border="0"/>
+ </td>
+ <td style="cursor: pointer;">
+ <a style="text-decoration:none" href="javascript:void(0);"> <t t-esc="rec.name"/> </a>
+ </td>
+ </tr>
+ </table>
+ </td>
+ <td align="left" class="oe_view_editor_colum" width="15%">
+ <table width="100%">
+ <tr>
+ <td width="20%">
+ <img t-if="rec.att_list.length"
+ id="side-add" src="/web/static/src/img/icons/gtk-add.png" style="cursor: pointer;"/>
+ </td>
+ <td width="20%">
+ <img id="side-remove" src="/web/static/src/img/icons/gtk-remove.png" style="cursor: pointer;"/>
+ </td>
+ <td width="20%">
+ <img t-if="rec.att_list.length"
+ id="side-edit" src="/web/static/src/img/icons/gtk-edit.png" style="cursor: pointer;"/>
+ </td>
+ <td width="20%">
+ <img t-if="rec.att_list.length"
+ id="side-up" src="/web/static/src/img/icons/gtk-go-up.png" style="cursor: pointer;"/>
+ </td>
+ <td width="20%">
+ <img t-if="rec.att_list.length"
+ id="side-down" src="/web/static/src/img/icons/gtk-go-down.png" style="cursor: pointer;"/>
+ </td>
+ </tr>
+ </table>
+ </td>
+ <t t-if="rec.child_id.length">
+ <t t-set="data" t-value="rec.child_id"/>
+ <t t-call="view_editor.row"/>
+ </t>
+</tr>
<t t-name="ExportView">
<a id="exportview" href="javascript: void(0)" style="text-decoration: none;color: #3D3D3D;">Export</a>
</tr>
</table>
+
<table t-name="ExportTreeView-Secondary"
id="field-tree-structure" class="oe_export_fields_selector_export"
cellspacing="0" cellpadding="0">
</table>
</form>
</t>
+
+<t t-name="ImportView">
+ <a id="importview" href="javascript: void(0)" style="text-decoration: none;color: #3D3D3D;">Import</a>
+</t>
+<t t-name="ImportDataView">
+<form name="import_data" id="import_data" action="" method="post" enctype="multipart/form-data"
+ class="oe-import oe-import-no-result">
+ <input type="hidden" name="session_id" t-att-value="session.session_id"/>
+ <h2 class="separator horizontal">1. Import a .CSV file</h2>
+ <p>Select a .CSV file to import. If you need a sample of file to import,
+ you should use the export tool with the "Import Compatible" option.
+ </p>
+ <p>
+ <label for="csvfile">CSV File:</label>
+ <input type="file" id="csvfile" size="50" name="csvfile"/>
+ </p>
+ <h2 class="separator horizontal oe-import-result">2. Check your file format</h2>
+ <div id="result" class="oe-import-result"></div>
+ <fieldset class="oe-closed oe-import-result">
+ <legend>Import Options</legend>
+ <table>
+ <tr>
+ <td colspan="4">
+ <label for="file_has_headers">Does your file have titles?</label>
+ <input type="checkbox" checked="checked"
+ id="file_has_headers"/>
+ </td>
+ </tr>
+ <tr>
+ <td><label for="csv_separator">Separator:</label></td>
+ <td><input type="text" name="csvsep" id="csv_separator" value=","/></td>
+ <td><label for="csv_delimiter">Delimiter:</label></td>
+ <td><input type="text" name="csvdel" id="csv_delimiter" value='"'/></td>
+ </tr>
+ <tr>
+ <td><label for="csv_encoding">Encoding:</label></td>
+ <td>
+ <select name="csvcode" id="csv_encoding">
+ <option value="utf-8">UTF-8</option>
+ <option value="latin1">Latin 1</option>
+ </select>
+ </td>
+ <td><label for="csv_skip" title="For use if CSV files have titles on multiple lines, skips more than a single line during import">
+ Lines to skip<sup>?</sup>:</label></td>
+ <td><input type="number" id="csv_skip" value="0" min="0"/></td>
+ </tr>
+ </table>
+ </fieldset>
+</form>
+</t>
+<t t-name="ImportView.result">
+ <table class="oe_import_grid" width="100%" style="margin: 5px 0;">
+ <tr t-if="headers" class="oe_import_grid-header">
+ <td t-foreach="headers" t-as="header" class="oe_import_grid-cell">
+ <t t-esc="header"/></td>
+ </tr>
+ <tr>
+ <td t-foreach="records[0]" t-as="column">
+ <input class="sel_fields" placeholder="--- Don't Import ---"/><span class="oe-m2o-drop-down-button">
+ <img src="/web/static/src/img/down-arrow.png" /></span>
+ </td>
+ </tr>
+ <tr t-foreach="records" t-as="record" class="oe_import_grid-row">
+ <td t-foreach="record" t-as="cell" class="oe_import_grid-cell">
+ <t t-esc="cell"/></td>
+ </tr>
+ </table>
+</t>
+<t t-name="ImportView.error">
+ <p style="white-space:pre-line;">The import failed due to:<t t-esc="error.message"/></p>
+ <t t-if="error.preview">
+ <p>Here is a preview of the file we could not import:</p>
+ <pre><t t-esc="error.preview"/></pre>
+ </t>
+</t>
+
<t t-name="About-Page">
<div>
<h1>OpenERP Web</h1>