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) ~~~~~~~~~~~~~~~~~~~~~~ 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..1efcd4d9 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", @@ -111,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); @@ -144,4 +165,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 630c2a3f..8ef0ef04 100644 --- a/mis_builder/static/src/xml/mis_widget.xml +++ b/mis_builder/static/src/xml/mis_widget.xml @@ -4,6 +4,7 @@

+