From 5530bfefb2ef8d7e4fec328ccc6a569e66bc038b Mon Sep 17 00:00:00 2001 From: "Adrien Peiffer (ACSONE)" Date: Tue, 27 Sep 2016 18:13:24 +0200 Subject: [PATCH 1/3] [IMP] Add refresh button in mis report preview. widget code changes to allow to add fields in the widget easier. --- mis_builder/__openerp__.py | 2 +- mis_builder/static/src/js/mis_builder.js | 54 ++++++++++++++++------- mis_builder/static/src/xml/mis_widget.xml | 1 + 3 files changed, 41 insertions(+), 16 deletions(-) diff --git a/mis_builder/__openerp__.py b/mis_builder/__openerp__.py index f13add5f..2cc8248f 100644 --- a/mis_builder/__openerp__.py +++ b/mis_builder/__openerp__.py @@ -4,7 +4,7 @@ { 'name': 'MIS Builder', - 'version': '9.0.2.0.1', + 'version': '9.0.2.0.2', 'category': 'Reporting', 'summary': """ Build 'Management Information System' Reports and Dashboards diff --git a/mis_builder/static/src/js/mis_builder.js b/mis_builder/static/src/js/mis_builder.js index 977786cf..8aa29c86 100644 --- a/mis_builder/static/src/js/mis_builder.js +++ b/mis_builder/static/src/js/mis_builder.js @@ -20,24 +20,42 @@ var MisReport = form_common.FormWidget.extend({ this.mis_report_instance_id = false; this.field_manager.on("view_content_has_changed", this, this.reload_widget); }, - - reload_widget: function() { + + initialize_field: function() { var self = this; - self.mis_report_instance_id = self.getParent().datarecord.id; - if (self.mis_report_instance_id) { - self.generate_content(); + self.destroy_content(); + self.init_fields(); + }, + + init_fields: function() { + var self = this; + if (self.dfm) + return; + self.dfm = new form_common.DefaultFieldManager(self); + self.$(".oe_mis_builder_generate_content").click(_.bind(this.generate_content, this)); + }, + + destroy_content: function() { + if (this.dfm) { + this.dfm.destroy(); + this.dfm = undefined; } }, + reload_widget: function() { + + }, + start: function() { this._super.apply(this, arguments); var self = this; self.mis_report_instance_id = self.getParent().datarecord.id; if (self.mis_report_instance_id) { self.getParent().dataset.context.no_destroy = true; + self.generate_content(); } }, - + get_context: function() { var self = this; var context = {}; @@ -46,13 +64,13 @@ var MisReport = form_common.FormWidget.extend({ } return context; }, - + print: function() { var self = this; var context = new data.CompoundContext(self.build_context(), self.get_context()|| {}); new Model("mis.report.instance").call( - "print_pdf", - [self.mis_report_instance_id], + "print_pdf", + [self.mis_report_instance_id], {'context': context} ).then(function(result){ self.do_action(result); @@ -62,8 +80,8 @@ var MisReport = form_common.FormWidget.extend({ var self = this; var context = new data.CompoundContext(self.build_context(), self.get_context()|| {}); new Model("mis.report.instance").call( - "export_xls", - [self.mis_report_instance_id], + "export_xls", + [self.mis_report_instance_id], {'context': context} ).then(function(result){ self.do_action(result); @@ -73,8 +91,8 @@ var MisReport = form_common.FormWidget.extend({ var self = this; var context = new data.CompoundContext(self.build_context(), self.get_context()|| {}); new Model("mis.report.instance").call( - "display_settings", - [self.mis_report_instance_id], + "display_settings", + [self.mis_report_instance_id], {'context': context} ).then(function(result){ self.do_action(result); @@ -84,8 +102,8 @@ var MisReport = form_common.FormWidget.extend({ var self = this; var context = new data.CompoundContext(self.build_context(), self.get_context()|| {}); new Model("mis.report.instance").call( - "compute", - [self.mis_report_instance_id], + "compute", + [self.mis_report_instance_id], {'context': context} ).then(function(result){ self.mis_report_data = result; @@ -104,6 +122,7 @@ var MisReport = form_common.FormWidget.extend({ self.$(".oe_mis_builder_settings").show(); } }); + self.initialize_field(); }, events: { "click a.mis_builder_drilldown": "drilldown", @@ -144,4 +163,9 @@ ActionManager.include({ } }); core.form_custom_registry.add('mis_report', MisReport); + +return { + MisReport: MisReport, +}; + }); diff --git a/mis_builder/static/src/xml/mis_widget.xml b/mis_builder/static/src/xml/mis_widget.xml index e720722d..61ad75df 100644 --- a/mis_builder/static/src/xml/mis_widget.xml +++ b/mis_builder/static/src/xml/mis_widget.xml @@ -4,6 +4,7 @@

+ From eb038752c10d9aefc1663fba5c8bfab90fc1bf2a Mon Sep 17 00:00:00 2001 From: "Adrien Peiffer (ACSONE)" Date: Tue, 27 Sep 2016 18:14:20 +0200 Subject: [PATCH 2/3] [CHG][mis_builder] Changelog --- mis_builder/CHANGES.rst | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/mis_builder/CHANGES.rst b/mis_builder/CHANGES.rst index cbe1d6f8..9576a4f4 100644 --- a/mis_builder/CHANGES.rst +++ b/mis_builder/CHANGES.rst @@ -6,6 +6,12 @@ Changelog .. .. * +9.0.2.0.2 (2016-09-27) +~~~~~~~~~~~~~~~~~~~~~~ + +* [IMP] Add refresh button in mis report preview. + Widget code changes to allow to add fields in the widget easier + 9.0.2.0.1 (2016-05-26) ~~~~~~~~~~~~~~~~~~~~~~ From eb908773b1fdd0769ed0f8346991b15c4cbd8df1 Mon Sep 17 00:00:00 2001 From: "Adrien Peiffer (ACSONE)" Date: Fri, 30 Sep 2016 17:00:06 +0200 Subject: [PATCH 3/3] [IMP] Propagate context in drilldown method --- mis_builder/static/src/js/mis_builder.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/mis_builder/static/src/js/mis_builder.js b/mis_builder/static/src/js/mis_builder.js index 8aa29c86..1efcd4d9 100644 --- a/mis_builder/static/src/js/mis_builder.js +++ b/mis_builder/static/src/js/mis_builder.js @@ -130,11 +130,13 @@ var MisReport = form_common.FormWidget.extend({ drilldown: function(event) { var self = this; + var context = new data.CompoundContext(self.build_context(), self.get_context()|| {}); var drilldown = $(event.target).data("drilldown"); if (drilldown) { new Model("mis.report.instance").call( "drilldown", - [self.mis_report_instance_id, drilldown] + [self.mis_report_instance_id, drilldown], + {'context': context} ).then(function(result) { if (result) { self.do_action(result);