diff --git a/base_report_to_printer/models/ir_actions_report.py b/base_report_to_printer/models/ir_actions_report.py index e6d078c3a09..33064bd133b 100644 --- a/base_report_to_printer/models/ir_actions_report.py +++ b/base_report_to_printer/models/ir_actions_report.py @@ -52,6 +52,7 @@ def print_action_for_report_name(self, report_name): serializable_result = { 'action': result['action'], 'printer_name': result['printer'].name, + 'id': report.id } return serializable_result diff --git a/base_report_to_printer/static/src/js/qweb_action_manager.js b/base_report_to_printer/static/src/js/qweb_action_manager.js index 12a1cfbf2f2..939a3a2537f 100644 --- a/base_report_to_printer/static/src/js/qweb_action_manager.js +++ b/base_report_to_printer/static/src/js/qweb_action_manager.js @@ -6,7 +6,6 @@ odoo.define('base_report_to_printer.print', function (require) { var framework = require('web.framework'); var rpc = require('web.rpc'); - ActionManager.include({ ir_actions_report: function (action, options) { var action_val = _.clone(action); @@ -14,19 +13,19 @@ odoo.define('base_report_to_printer.print', function (require) { var self = this; var _super = this._super; - if ('report_type' in action_val && action_val.report_type === 'qweb-pdf') { + if (action_val.report_type === 'qweb-pdf') { framework.blockUI(); rpc.query({ model: 'ir.actions.report', method: 'print_action_for_report_name', args: [action_val.report_name] }).then(function (print_action) { - if (print_action && print_action.action_val === 'server') { + if (print_action && print_action.action === 'server') { framework.unblockUI(); rpc.query({ model: 'ir.actions.report', method: 'print_document', - args: [action_val.context.active_ids, action_val.report_name], + args: [print_action.id, action_val.context.active_ids], kwargs: {data: action_val.data || {}}, context: action_val.context || {} }).then(function () { diff --git a/base_report_to_printer/tests/test_ir_actions_report.py b/base_report_to_printer/tests/test_ir_actions_report.py index 22c5c0441c1..6ac178005ea 100644 --- a/base_report_to_printer/tests/test_ir_actions_report.py +++ b/base_report_to_printer/tests/test_ir_actions_report.py @@ -77,6 +77,7 @@ def test_print_action_for_report_name_returns_if_report(self): expect = { 'action': behaviour['action'], 'printer_name': behaviour['printer'].name, + 'id': behaviour.id, } self.assertDictEqual( expect, res,