Files
web/web_export_view/controllers.py
Lorenzo Battistini 23f95b4881 [FIX] Ambiguous import
WARNING ? openerp.modules.module:
Ambiguous import: the OpenERP module `web` is shadowed by another
module (available at /home/elbati/workspace/openerp/progetti/siem/git/siem/parts/odoo/addons/web).
To import it, use `import openerp.addons.<module>.`.
2014-07-22 16:49:15 +02:00

55 lines
2.0 KiB
Python

# -*- coding: utf-8 -*-
##############################################################################
#
# Copyright (C) 2012 Agile Business Group sagl (<http://www.agilebg.com>)
# Copyright (C) 2012 Domsense srl (<http://www.domsense.com>)
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published
# by the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
##############################################################################
try:
import json
except ImportError:
import simplejson as json
from openerp.addons.web import http as openerpweb
from openerp.addons.web.controllers.main import ExcelExport
class ExcelExportView(ExcelExport):
_cp_path = '/web/export/xls_view'
def __getattribute__(self, name):
if name == 'fmt':
raise AttributeError()
return super(ExcelExportView, self).__getattribute__(name)
@openerpweb.httprequest
def index(self, req, data, token):
data = json.loads(data)
model = data.get('model', [])
columns_headers = data.get('headers', [])
rows = data.get('rows', [])
return req.make_response(
self.from_data(columns_headers, rows),
headers=[
('Content-Disposition', 'attachment; filename="%s"'
% self.filename(model)),
('Content-Type', self.content_type)
],
cookies={'fileToken': token}
)