[MIG] account_financial_report_qweb: Migration to 11.0
* dynamize general ledger
This commit is contained in:
committed by
chaule97
parent
caf8ce9698
commit
554ad61027
105
account_financial_report/static/src/css/report.css
Normal file
105
account_financial_report/static/src/css/report.css
Normal file
@@ -0,0 +1,105 @@
|
||||
body, table, td, span, div {
|
||||
font-family: Helvetica, Arial;
|
||||
}
|
||||
.act_as_table {
|
||||
display: table !important;
|
||||
}
|
||||
.act_as_row {
|
||||
display: table-row !important;
|
||||
page-break-inside: avoid;
|
||||
}
|
||||
.act_as_cell {
|
||||
display: table-cell !important;
|
||||
page-break-inside: avoid;
|
||||
}
|
||||
.act_as_thead {
|
||||
display: table-header-group !important;
|
||||
}
|
||||
.act_as_tbody {
|
||||
display: table-row-group !important;
|
||||
}
|
||||
.list_table, .data_table, .totals_table{
|
||||
width: 100% !important;
|
||||
table-layout: fixed !important;
|
||||
}
|
||||
.act_as_row.labels {
|
||||
background-color:#F0F0F0 !important;
|
||||
}
|
||||
.list_table, .data_table, .totals_table, .list_table .act_as_row {
|
||||
border-left:0px;
|
||||
border-right:0px;
|
||||
text-align:left;
|
||||
font-size:10px;
|
||||
padding-right:3px;
|
||||
padding-left:3px;
|
||||
padding-top:2px;
|
||||
padding-bottom:2px;
|
||||
border-collapse:collapse;
|
||||
}
|
||||
.totals_table {
|
||||
font-weight: bold;
|
||||
text-align: center;
|
||||
}
|
||||
.list_table .act_as_row.labels, .list_table .act_as_row.initial_balance, .list_table .act_as_row.lines {
|
||||
border-color:grey !important;
|
||||
border-bottom:1px solid lightGrey !important;
|
||||
}
|
||||
.data_table .act_as_cell{
|
||||
border: 1px solid lightGrey;
|
||||
text-align: center;
|
||||
}
|
||||
.data_table .act_as_cell, .list_table .act_as_cell, .totals_table .act_as_cell {
|
||||
word-wrap: break-word;
|
||||
}
|
||||
.data_table .act_as_row.labels, .totals_table .act_as_row.labels {
|
||||
font-weight: bold;
|
||||
}
|
||||
.initial_balance .act_as_cell {
|
||||
font-style:italic;
|
||||
}
|
||||
.account_title {
|
||||
font-size:11px;
|
||||
font-weight:bold;
|
||||
}
|
||||
.account_title.labels {
|
||||
background-color:#F0F0F0 !important;
|
||||
}
|
||||
.act_as_cell.amount {
|
||||
word-wrap:normal;
|
||||
text-align:right;
|
||||
}
|
||||
.act_as_cell.left {
|
||||
text-align:left;
|
||||
}
|
||||
.act_as_cell.right {
|
||||
text-align:right;
|
||||
}
|
||||
.list_table .act_as_cell{
|
||||
padding-left: 5px;
|
||||
/* border-right:1px solid lightGrey; uncomment to active column lines */
|
||||
}
|
||||
.list_table .act_as_cell.first_column {
|
||||
padding-left: 0px;
|
||||
/* border-left:1px solid lightGrey; uncomment to active column lines */
|
||||
}
|
||||
.overflow_ellipsis {
|
||||
text-overflow: ellipsis;
|
||||
overflow: hidden;
|
||||
white-space: nowrap;
|
||||
}
|
||||
.custom_footer {
|
||||
font-size:7px !important;
|
||||
}
|
||||
.page_break {
|
||||
page-break-inside: avoid;
|
||||
}
|
||||
|
||||
.button_row {
|
||||
padding-bottom: 10px;
|
||||
}
|
||||
|
||||
.o_account_financial_reports_page {
|
||||
background-color: @odoo-view-background-color;
|
||||
color: @odoo-main-text-color;
|
||||
padding-top: 10px;
|
||||
}
|
||||
@@ -0,0 +1,109 @@
|
||||
odoo.define('account_financial_report.account_financial_report_backend', function (require) {
|
||||
'use strict';
|
||||
|
||||
var core = require('web.core');
|
||||
var Widget = require('web.Widget');
|
||||
var ControlPanelMixin = require('web.ControlPanelMixin');
|
||||
var session = require('web.session');
|
||||
var ReportWidget = require('account_financial_report.account_financial_report_widget');
|
||||
var framework = require('web.framework');
|
||||
var crash_manager = require('web.crash_manager');
|
||||
|
||||
var QWeb = core.qweb;
|
||||
|
||||
var report_backend = Widget.extend(ControlPanelMixin, {
|
||||
// Stores all the parameters of the action.
|
||||
events: {
|
||||
'click .o_account_financial_reports_print': 'print',
|
||||
'click .o_account_financial_reports_export': 'export',
|
||||
},
|
||||
init: function(parent, action) {
|
||||
this.actionManager = parent;
|
||||
this.given_context = {};
|
||||
this.odoo_context = action.context;
|
||||
this.controller_url = action.context.url;
|
||||
if (action.context.context) {
|
||||
this.given_context = action.context.context;
|
||||
}
|
||||
this.given_context.active_id = action.context.active_id || action.params.active_id;
|
||||
this.given_context.model = action.context.active_model || false;
|
||||
this.given_context.ttype = action.context.ttype || false;
|
||||
return this._super.apply(this, arguments);
|
||||
},
|
||||
willStart: function() {
|
||||
return $.when(this.get_html());
|
||||
},
|
||||
set_html: function() {
|
||||
var self = this;
|
||||
var def = $.when();
|
||||
if (!this.report_widget) {
|
||||
this.report_widget = new ReportWidget(this, this.given_context);
|
||||
def = this.report_widget.appendTo(this.$el);
|
||||
}
|
||||
def.then(function () {
|
||||
self.report_widget.$el.html(self.html);
|
||||
});
|
||||
},
|
||||
start: function() {
|
||||
this.set_html();
|
||||
return this._super();
|
||||
},
|
||||
// Fetches the html and is previous report.context if any, else create it
|
||||
get_html: function() {
|
||||
var self = this;
|
||||
var defs = [];
|
||||
return this._rpc({
|
||||
model: this.given_context.model,
|
||||
method: 'get_html',
|
||||
args: [self.given_context],
|
||||
context: self.odoo_context,
|
||||
})
|
||||
.then(function (result) {
|
||||
self.html = result.html;
|
||||
defs.push(self.update_cp());
|
||||
return $.when.apply($, defs);
|
||||
});
|
||||
},
|
||||
// Updates the control panel and render the elements that have yet to be rendered
|
||||
update_cp: function() {
|
||||
if (!this.$buttons) {
|
||||
|
||||
}
|
||||
var status = {
|
||||
breadcrumbs: this.actionManager.get_breadcrumbs(),
|
||||
cp_content: {$buttons: this.$buttons},
|
||||
};
|
||||
return this.update_control_panel(status);
|
||||
},
|
||||
do_show: function() {
|
||||
this._super();
|
||||
this.update_cp();
|
||||
},
|
||||
print: function(e) {
|
||||
var self = this;
|
||||
this._rpc({
|
||||
model: this.given_context.model,
|
||||
method: 'print_report',
|
||||
args: [this.given_context.active_id, 'qweb-pdf'],
|
||||
context: self.odoo_context,
|
||||
}).then(function(result){
|
||||
self.do_action(result);
|
||||
});
|
||||
},
|
||||
export: function(e) {
|
||||
var self = this;
|
||||
this._rpc({
|
||||
model: this.given_context.model,
|
||||
method: 'print_report',
|
||||
args: [this.given_context.active_id, 'xlsx'],
|
||||
context: self.odoo_context,
|
||||
})
|
||||
.then(function(result){
|
||||
self.do_action(result);
|
||||
});
|
||||
},
|
||||
});
|
||||
|
||||
core.action_registry.add("account_financial_report_backend", report_backend);
|
||||
return report_backend;
|
||||
});
|
||||
@@ -0,0 +1,37 @@
|
||||
odoo.define('account_financial_report.account_financial_report_widget', function
|
||||
(require) {
|
||||
'use strict';
|
||||
|
||||
var core = require('web.core');
|
||||
var Widget = require('web.Widget');
|
||||
|
||||
var QWeb = core.qweb;
|
||||
|
||||
var _t = core._t;
|
||||
|
||||
var accountFinancialReportWidget = Widget.extend({
|
||||
events: {
|
||||
'click .o_account_financial_reports_web_action': 'boundLink',
|
||||
},
|
||||
init: function(parent) {
|
||||
this._super.apply(this, arguments);
|
||||
},
|
||||
start: function() {
|
||||
return this._super.apply(this, arguments);
|
||||
},
|
||||
boundLink: function(e) {
|
||||
var res_model = $(e.target).data('res-model')
|
||||
var res_id = $(e.target).data('active-id')
|
||||
return this.do_action({
|
||||
type: 'ir.actions.act_window',
|
||||
res_model: res_model,
|
||||
res_id: res_id,
|
||||
views: [[false, 'form']],
|
||||
target: 'current'
|
||||
});
|
||||
},
|
||||
});
|
||||
|
||||
return accountFinancialReportWidget;
|
||||
|
||||
});
|
||||
Reference in New Issue
Block a user