odoo.define("account_financial_report.account_financial_report_widget", function( require ) { "use strict"; var Widget = require("web.Widget"); var accountFinancialReportWidget = Widget.extend({ events: { "click .o_account_financial_reports_web_action": "boundLink", "click .o_account_financial_reports_web_action_multi": "boundLinkmulti", "click .o_account_financial_reports_web_action_monetary": "boundLinkMonetary", "click .o_account_financial_reports_web_action_monetary_multi": "boundLinkMonetarymulti", }, init: function() { 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", }); }, boundLinkmulti: function(e) { var res_model = $(e.target).data("res-model"); var domain = $(e.target).data("domain"); if (!res_model) { res_model = $(e.target.parentElement).data("res-model"); } if (!domain) { domain = $(e.target.parentElement).data("domain"); } return this.do_action({ type: "ir.actions.act_window", name: this._toTitleCase(res_model.split(".").join(" ")), res_model: res_model, domain: domain, views: [ [false, "list"], [false, "form"], ], target: "current", }); }, boundLinkMonetary: function(e) { var res_model = $(e.target.parentElement).data("res-model"); var res_id = $(e.target.parentElement).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", }); }, boundLinkMonetarymulti: function(e) { var res_model = $(e.target.parentElement).data("res-model"); var domain = $(e.target.parentElement).data("domain"); return this.do_action({ type: "ir.actions.act_window", res_model: res_model, domain: domain, views: [ [false, "list"], [false, "form"], ], target: "current", }); }, _toTitleCase: function(str) { return str.replace(/\w\S*/g, function(txt) { return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase(); }); }, }); return accountFinancialReportWidget; });