diff options
| author | Xavier Morel <xmo@openerp.com> | 2012-01-13 10:06:11 +0100 |
|---|---|---|
| committer | Xavier Morel <xmo@openerp.com> | 2012-01-13 10:06:11 +0100 |
| commit | c89d45b6583023d28735d4e17762165d10edf493 (patch) | |
| tree | 510ad1184d61c6a2516f986672a5f738e956a1c0 /addons/web/controllers | |
| parent | 4f57d12b65c45c647db960f2cb25f42e8cb30149 (diff) | |
[IMP] display a warning and disable excel export option when XLWT is not installed
lp bug: https://launchpad.net/bugs/915347 fixed
bzr revid: xmo@openerp.com-20120113090611-lmiu5y7y7b9td8hg
Diffstat (limited to 'addons/web/controllers')
| -rw-r--r-- | addons/web/controllers/main.py | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/addons/web/controllers/main.py b/addons/web/controllers/main.py index fd8d85f9d69..7081ce3ce32 100644 --- a/addons/web/controllers/main.py +++ b/addons/web/controllers/main.py @@ -18,6 +18,10 @@ from cStringIO import StringIO import babel.messages.pofile import werkzeug.utils +try: + import xlwt +except ImportError: + xlwt = None import web.common openerpweb = web.common.http @@ -1308,7 +1312,7 @@ class Export(View): for path, controller in openerpweb.controllers_path.iteritems() if path.startswith(self._cp_path) if hasattr(controller, 'fmt') - ], key=operator.itemgetter(1)) + ], key=operator.itemgetter("label")) def fields_get(self, req, model): Model = req.session.model(model) @@ -1484,7 +1488,7 @@ class Export(View): class CSVExport(Export): _cp_path = '/web/export/csv' - fmt = ('csv', 'CSV') + fmt = {'tag': 'csv', 'label': 'CSV'} @property def content_type(self): @@ -1519,7 +1523,11 @@ class CSVExport(Export): class ExcelExport(Export): _cp_path = '/web/export/xls' - fmt = ('xls', 'Excel') + fmt = { + 'tag': 'xls', + 'label': 'Excel', + 'error': None if xlwt else "XLWT required" + } @property def content_type(self): @@ -1529,8 +1537,6 @@ class ExcelExport(Export): return base + '.xls' def from_data(self, fields, rows): - import xlwt - workbook = xlwt.Workbook() worksheet = workbook.add_sheet('Sheet 1') |
