2018-01-16 06:58:15 +01:00
<templates >
<t t-name= "ImportView" >
<t t-set= "_id" t-value= "_.uniqueId('export')" />
<form action= "" method= "post" enctype= "multipart/form-data" class= "oe_import" >
<input type= "hidden" name= "csrf_token" t-att-value= "csrf_token" />
<input type= "hidden" name= "session_id"
t-att-value="widget.session.session_id"/>
<input type= "hidden" name= "import_id" />
<div class= "oe_import_box col-sm-9" >
<div class= "col-sm-12" >
2018-10-15 11:59:04 +02:00
<p > Select a CSV or Excel file to import. <a href= "https://userdoc.flectrahq.com/general/base_import/import_faq.html" target= "new" class= "pull-right" > Help</a> </p>
2018-01-16 06:58:15 +01:00
</div>
<div class= "col-sm-10" >
<div class= "input-group" >
<input type= "text" class= "oe_import_file_show form-control" placeholder= "No file chosen..." />
<span class= "input-group-btn" >
<label class= "btn btn-primary" for= "my-file-selector" >
<input accept= ".csv, .xls, .xlsx, .xlsm, .ods" id-attf-id= "file_#{_id}"
name="file" id="my-file-selector" class="oe_import_file" type="file" style="display:none;"/>
Load File
</label>
</span>
<span class= "input-group-btn" >
<button type= "button" class= "btn btn-default oe_import_file_reload" disabled= "disabled" > Reload File</button>
</span>
</div>
</div>
<div class= "oe_import_with_file col-sm-12" >
<a href= "#" class= "oe_import_toggle" >
Options…</a>
<div class= "oe_import_toggled oe_import_options js_import_options col-sm-5" >
<p t-foreach= "widget.opts" t-as= "option" >
<!-- no @name, avoid submission when file_update called -->
<label t-attf-for= "#{option.name}_#{_id}" >
<t t-esc= "option.label" /> </label>
<input t-attf-id= "#{option.name}_#{_id}"
t-attf-class="oe_import_#{option.name}"
t-att-value="option.value"/>
</p>
</div>
<div class= "oe_import_toggled oe_import_options col-sm-5" >
<p t-foreach= "widget.parse_opts" t-as= "option" >
<!-- no @name, avoid submission when file_update called -->
<label t-attf-for= "#{option.name}_#{_id}" >
<t t-esc= "option.label" /> </label>
<input t-attf-id= "#{option.name}_#{_id}"
t-attf-class="oe_import_#{option.name}"
t-att-value="option.value"/>
</p>
</div>
</div>
</div>
<div class= "oe_import_with_file oe_padding col-sm-12" >
<h2 > Map your columns to import</h2>
<div title= "If t h e m o d e l u s e s o p e n c h a t t e r , h i s t o r y t r a c k i n g
will set up subscriptions and send notifications
during the import, but lead to a slower import."
class="oe_import_tracking">
<input type= "checkbox" id= "oe_import_tracking" />
<label for= "oe_import_tracking" >
Track history during import
</label>
</div>
<div title= "If t h e m o d e l u s e s p a r e n t / c h i l d r e l a t i o n s , c o m p u t i n g t h e
parent / child relation occurs on every line, and lead to a slower import.
Defering it can speed up import."
class="oe_import_deferparentstore">
<input type= "checkbox" id= "oe_import_deferparentstore" checked= "checked" />
<label for= "oe_import_deferparentstore" >
Defer parent/child computation
</label>
</div>
<input type= "checkbox" class= "oe_import_has_header"
id="oe_import_has_header" checked="checked"/>
<label for= "oe_import_has_header" > The first row
contains the label of the column</label>
2018-07-13 11:30:51 +02:00
<input type= "checkbox" class= "oe_import_advanced_mode" checked= "checked"
2018-01-16 06:58:15 +01:00
id="oe_import_advanced_mode"/>
<label for= "oe_import_advanced_mode" > Show fields of relation fields (advanced)</label>
<p class= "oe_import_noheaders" > If the file contains
2018-01-16 11:34:37 +01:00
the column names, Flectra can try auto-detecting the
2018-01-16 06:58:15 +01:00
field corresponding to the column. This makes imports
simpler especially when the file has many columns.</p>
<div class= "oe_import_error_report" > </div>
<table class= "table-striped table-bordered oe_import_grid" />
</div>
</form>
</t>
<t t-name= "ImportView.buttons" >
<button type= "button" class= "btn btn-sm btn-primary o_import_button o_import_validate"
disabled="disabled">Test Import</button>
<button type= "button" class= "btn btn-sm btn-default o_import_button o_import_import"
disabled="disabled">Import</button>
<button type= "button" class= "btn btn-sm btn-default o_import_cancel" > Cancel</button>
</t>
<t t-name= "ImportView.preview" >
<thead >
<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 class= "oe_import_fields" >
<!-- Iterate on first row to ensure we have all columns -->
<td t-foreach= "preview[0]" t-as= "column" >
<input class= "oe_import_match_field" />
</td>
</tr>
</thead>
<tbody >
<tr t-foreach= "preview" t-as= "row" class= "oe_import_grid-row" >
<td t-foreach= "row" t-as= "cell" class= "oe_import_grid-cell"
><t t-esc= "cell" /> </td>
</tr>
</tbody>
</t>
<t t-name= "ImportView.preview.error" >
<div class= "oe_import_report oe_import_report_error" >
<p > Import preview failed due to: <t t-esc= "error" /> .</p>
<p > For CSV files, the issue could be an incorrect encoding.</p>
<p t-if= "preview" > Here is the start of the file we could not import:</p>
</div>
<pre t-if= "preview" > <t t-esc= "preview" /> </pre>
</t>
<ul t-name= "ImportView.error" >
<li t-foreach= "errors" t-as= "error"
t-attf-class="oe_import_report oe_import_report_#{error_value[0].type}">
<t t-call= "ImportView.error.each" >
<t t-set= "error" t-value= "error_value[0]" />
</t>
<a href= "#" class= "oe_import_report_count" t-if= "error_value.length gt 1" >
<t t-esc= "more(error_value.length - 1)" />
</a>
<ul class= "oe_import_report_more" t-if= "error_value.length gt 1" >
<li t-foreach= "error_value.length - 1" t-as= "index" >
<t t-call= "ImportView.error.each" >
<t t-set= "error" t-value= "error_value[index + 1]" />
</t>
</li>
</ul>
</li>
</ul>
<t t-name= "ImportView.error.each" >
<span class= "oe_import_report_message" >
<t t-esc= "error.message" />
</span>
<t t-if= "error.rows" t-esc= "at(error.rows)" />
<t t-if= "error.moreinfo" t-raw= "info(error.moreinfo)" />
</t>
<t t-name= "ImportView.import_button" >
<button t-if= 'widget and widget.importEnabled' type= "button" class= "btn btn-sm btn-default o_button_import" >
Import
</button>
</t>
<t t-extend= "ListView.buttons" >
<t t-jquery= "button.o_list_button_add" t-operation= "after" >
<t t-call= "ImportView.import_button" />
</t>
</t>
<t t-extend= "KanbanView.buttons" >
<t t-jquery= "button.o-kanban-button-new" t-operation= "after" >
<t t-call= "ImportView.import_button" />
</t>
</t>
</templates>