From 255a5792dc0e5a841672a3ec1a23e1027605d179 Mon Sep 17 00:00:00 2001 From: Stefan Rijnhart Date: Tue, 23 Jul 2013 15:25:54 +0200 Subject: [PATCH] [FIX] web_export_view: Several things: * Compatibility with Werkzeug 0.9.3 * Export of first one2many field works again * Parsing of float values --- web_export_view/controllers.py | 2 +- web_export_view/static/js/web_advanced_export.js | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/web_export_view/controllers.py b/web_export_view/controllers.py index dc225ee2..89304e35 100644 --- a/web_export_view/controllers.py +++ b/web_export_view/controllers.py @@ -45,5 +45,5 @@ class ExcelExportView(ExcelExport): % self.filename(model)), ('Content-Type', self.content_type) ], - cookies={'fileToken': int(token)} + cookies={'fileToken': token} ) diff --git a/web_export_view/static/js/web_advanced_export.js b/web_export_view/static/js/web_advanced_export.js index 75fb6873..de13dfa1 100644 --- a/web_export_view/static/js/web_advanced_export.js +++ b/web_export_view/static/js/web_advanced_export.js @@ -37,9 +37,9 @@ openerp.web_export_view = function(instance, m) { // or assume the main view is a list view and use that var self = this, view = this.getParent(), - columns = view.visible_columns; - if (view.widget_children) { - view.widget_children.every(function(child) { + children = view.getChildren(); + if (children) { + children.every(function(child) { if (child.field && child.field.type == 'one2many') { view = child.viewmanager.views.list.controller; return false; // break out of the loop @@ -53,7 +53,7 @@ openerp.web_export_view = function(instance, m) { } export_columns_keys = []; export_columns_names = []; - $.each(columns,function(){ + $.each(view.visible_columns, function(){ if(this.tag=='field'){ // non-fields like `_group` or buttons export_columns_keys.push(this.id); @@ -68,12 +68,12 @@ openerp.web_export_view = function(instance, m) { if($row.attr('data-id')){ export_row = []; checked = $row.find('th input[type=checkbox]').attr("checked"); - if (checked === "checked"){ + if (children || checked === "checked"){ $.each(export_columns_keys,function(){ cell = $row.find('td[data-field="'+this+'"]').get(0); text = cell.text || cell.textContent || cell.innerHTML || ""; if (cell.classList.contains("oe_list_field_float")){ - export_row.push(parseFloat(text)); + export_row.push(instance.web.parse_value(text, {'type': "float"})); } else if (cell.classList.contains("oe_list_field_integer")){ export_row.push(parseInt(text));