From 5530bfefb2ef8d7e4fec328ccc6a569e66bc038b Mon Sep 17 00:00:00 2001 From: "Adrien Peiffer (ACSONE)" Date: Tue, 27 Sep 2016 18:13:24 +0200 Subject: [PATCH] [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 @@

+