Browse Source

Merge pull request #232 from acsone/9.0-imp-mis-builder-widget

[IMP] Add refresh button in mis report preview. Widget code changes to allow to add fields in the widget easier
pull/237/head
Stéphane Bidoul (ACSONE) 8 years ago
committed by GitHub
parent
commit
aaee603e38
  1. 6
      mis_builder/CHANGES.rst
  2. 2
      mis_builder/__openerp__.py
  3. 58
      mis_builder/static/src/js/mis_builder.js
  4. 1
      mis_builder/static/src/xml/mis_widget.xml

6
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)
~~~~~~~~~~~~~~~~~~~~~~

2
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

58
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,
};
});

1
mis_builder/static/src/xml/mis_widget.xml

@ -4,6 +4,7 @@
<t t-if="widget.mis_report_data">
<h2><t t-esc="widget.mis_report_data.report_name" /></h2>
<div class="oe_mis_builder_buttons oe_right oe_button_box">
<button class="oe_mis_builder_generate_content btn btn-sm oe_button"><img src="/web/static/src/img/icons/gtk-refresh.png"/> Refresh</button>
<button class="oe_mis_builder_print btn btn-sm oe_button"><img src="/web/static/src/img/icons/gtk-print.png"/> Print</button>
<button class="oe_mis_builder_export btn btn-sm oe_button"><img src="/web/static/src/img/icons/gtk-go-down.png"/>Export</button>
<button style="display: none;" class="oe_mis_builder_settings btn btn-sm oe_button"><img src="/web/static/src/img/icons/gtk-execute.png"/> Settings</button>

Loading…
Cancel
Save