From 3a71748b8dfe8c0d8e0cec12fcb01aab5964a56e Mon Sep 17 00:00:00 2001 From: David Beal Date: Mon, 6 Nov 2017 09:21:39 +0100 Subject: [PATCH 1/2] ADD module web_export_usability --- web_export_usability/__init__.py | 5 +++ web_export_usability/__openerp__.py | 29 ++++++++++++++++++ web_export_usability/controllers/__init__.py | 5 +++ web_export_usability/controllers/export.py | 24 +++++++++++++++ .../static/description/icon.png | Bin 0 -> 86065 bytes 5 files changed, 63 insertions(+) create mode 100644 web_export_usability/__init__.py create mode 100644 web_export_usability/__openerp__.py create mode 100644 web_export_usability/controllers/__init__.py create mode 100644 web_export_usability/controllers/export.py create mode 100644 web_export_usability/static/description/icon.png diff --git a/web_export_usability/__init__.py b/web_export_usability/__init__.py new file mode 100644 index 0000000..53804ab --- /dev/null +++ b/web_export_usability/__init__.py @@ -0,0 +1,5 @@ +# coding: utf-8 +# © 2017 David BEAL @ Akretion +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +from . import controllers diff --git a/web_export_usability/__openerp__.py b/web_export_usability/__openerp__.py new file mode 100644 index 0000000..551d17b --- /dev/null +++ b/web_export_usability/__openerp__.py @@ -0,0 +1,29 @@ +# coding: utf-8 +# © 2017 David BEAL @ Akretion +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). +{ + 'name': 'Web Export Usability', + 'version': '8.0.0.1.0', + 'author': 'Akretion', + 'website': 'http://www.akretion.com', + 'category': 'web', + 'description': """ +Override of the module web for export features: + +- set default export format to Excel + + +Roadmap: + +- set default export type to 'Export all data' + +""", + 'depends': ['web'], + 'data': [ + ], + "external_dependencies": { + "python": ['xlwt'], + }, + 'demo': [], + 'installable': True, +} diff --git a/web_export_usability/controllers/__init__.py b/web_export_usability/controllers/__init__.py new file mode 100644 index 0000000..55ee455 --- /dev/null +++ b/web_export_usability/controllers/__init__.py @@ -0,0 +1,5 @@ +# coding: utf-8 +# © 2017 David BEAL @ Akretion +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +from . import export diff --git a/web_export_usability/controllers/export.py b/web_export_usability/controllers/export.py new file mode 100644 index 0000000..77bea1e --- /dev/null +++ b/web_export_usability/controllers/export.py @@ -0,0 +1,24 @@ +# coding: utf-8 +# © 2017 David BEAL @ Akretion +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +from openerp import http +from openerp.addons.web.controllers.main import Export +import logging + +_logger = logging.getLogger(__name__) + + +class Export_(Export): + + @http.route('/web/export/formats', type='json', auth="user") + def formats(self): + """ Returns all valid export formats + + :returns: for each export format, a pair of identifier + and printable name + :rtype: [(str, str)] + """ + response = super(Export_, self).formats() + # put xls, before csv + return [response[1], response[0]] diff --git a/web_export_usability/static/description/icon.png b/web_export_usability/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..24773d281379b37ebe5f01bf181d5d49ccaff426 GIT binary patch literal 86065 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 Date: Mon, 6 Nov 2017 10:21:39 +0100 Subject: [PATCH 2/2] FIX returned args with reverse() --- web_export_usability/__init__.py | 4 ---- web_export_usability/controllers/__init__.py | 4 ---- web_export_usability/controllers/export.py | 3 ++- 3 files changed, 2 insertions(+), 9 deletions(-) diff --git a/web_export_usability/__init__.py b/web_export_usability/__init__.py index 53804ab..e046e49 100644 --- a/web_export_usability/__init__.py +++ b/web_export_usability/__init__.py @@ -1,5 +1 @@ -# coding: utf-8 -# © 2017 David BEAL @ Akretion -# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). - from . import controllers diff --git a/web_export_usability/controllers/__init__.py b/web_export_usability/controllers/__init__.py index 55ee455..4435ea7 100644 --- a/web_export_usability/controllers/__init__.py +++ b/web_export_usability/controllers/__init__.py @@ -1,5 +1 @@ -# coding: utf-8 -# © 2017 David BEAL @ Akretion -# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). - from . import export diff --git a/web_export_usability/controllers/export.py b/web_export_usability/controllers/export.py index 77bea1e..4f5612a 100644 --- a/web_export_usability/controllers/export.py +++ b/web_export_usability/controllers/export.py @@ -21,4 +21,5 @@ class Export_(Export): """ response = super(Export_, self).formats() # put xls, before csv - return [response[1], response[0]] + response.reverse() + return response