summaryrefslogtreecommitdiff
path: root/addons/base/static/src
diff options
context:
space:
mode:
Diffstat (limited to 'addons/base/static/src')
-rw-r--r--addons/base/static/src/js/data_import.js9
-rw-r--r--addons/base/static/src/xml/base.xml18
2 files changed, 25 insertions, 2 deletions
diff --git a/addons/base/static/src/js/data_import.js b/addons/base/static/src/js/data_import.js
index 6450f8709a3..a98f387eeaf 100644
--- a/addons/base/static/src/js/data_import.js
+++ b/addons/base/static/src/js/data_import.js
@@ -54,10 +54,11 @@ openerp.base.DataImport = openerp.base.Dialog.extend({
},
import_results:function(res){
$('#result, #success').empty();
+ $(".ui-button-text:contains('Import File')").parent().attr("disabled",false);
var results = $.parseJSON(res);
var result_node = $("#result");
if (results['records']){
- records = {'header':results['fields'],'row':results['records']};
+ records = {'header':results['fields'],'sel':results['all_fields'],'row':results['records']};
result_node.append(QWeb.render('ImportView-result',{'records':records}));
}else if(results['error']){
result_node.append(QWeb.render('ImportView-result',{'error': results['error']}));
@@ -65,6 +66,12 @@ openerp.base.DataImport = openerp.base.Dialog.extend({
var success_node = $("#success");
success_node.append(QWeb.render('ImportView-result',{'success': results['success']}));
}
+ $('td #header').each(function(){
+ var head = $(this).text();
+ if (jQuery.inArray(head,results['all_fields']) <= -1){
+ $(".ui-button-text:contains('Import File')").parent().attr("disabled",true);
+ }
+ });
},
stop: function() {
$(this.$dialog).remove();
diff --git a/addons/base/static/src/xml/base.xml b/addons/base/static/src/xml/base.xml
index 60b9c4c4c08..7fd999d00d5 100644
--- a/addons/base/static/src/xml/base.xml
+++ b/addons/base/static/src/xml/base.xml
@@ -1459,7 +1459,23 @@
<t t-if="record=='header'">
<tr class="oe_import_grid-header">
<t t-foreach="records.header" t-as="header">
- <th class="oe_import_grid-cell"><t t-esc="header[0]"/></th>
+ <td class="oe_import_grid-cell" id="header"><t t-esc="header[0]"/></td>
+ </t>
+ </tr>
+ </t>
+ <t t-if="record=='sel'">
+ <tr>
+ <t t-foreach="records.header" t-as="header">
+ <td>
+ <select name="fld" id="fld">
+ <option selected="selected" value=""></option>
+ <t t-foreach="records.sel" t-as="selection">
+ <option t-att="{'selected': header[0] === selection ? 'selected' : null}"
+ t-att-value="selection"><t t-esc="selection"/>
+ </option>
+ </t>
+ </select>
+ </td>
</t>
</tr>
</t>