summaryrefslogtreecommitdiff
path: root/addons/web/static/src/js/services/report_service.js
diff options
context:
space:
mode:
Diffstat (limited to 'addons/web/static/src/js/services/report_service.js')
-rw-r--r--addons/web/static/src/js/services/report_service.js35
1 files changed, 35 insertions, 0 deletions
diff --git a/addons/web/static/src/js/services/report_service.js b/addons/web/static/src/js/services/report_service.js
new file mode 100644
index 00000000..ed4907a6
--- /dev/null
+++ b/addons/web/static/src/js/services/report_service.js
@@ -0,0 +1,35 @@
+odoo.define('web.ReportService', function (require) {
+"use strict";
+
+/**
+ * This file defines the service for the report generation in Odoo.
+ */
+
+var AbstractService = require('web.AbstractService');
+var core = require('web.core');
+
+var ReportService = AbstractService.extend({
+ dependencies: ['ajax'],
+
+ /**
+ * Checks the state of the installation of wkhtmltopdf on the server.
+ * Implements an internal cache to do the request only once.
+ *
+ * @returns {Promise} resolved with the state of wkhtmltopdf on the server
+ * (possible values are 'ok', 'broken', 'install', 'upgrade', 'workers').
+ */
+ checkWkhtmltopdf: function () {
+ if (!this.wkhtmltopdfState) {
+ this.wkhtmltopdfState = this._rpc({
+ route:'/report/check_wkhtmltopdf'
+ });
+ }
+ return this.wkhtmltopdfState;
+ },
+});
+
+core.serviceRegistry.add('report', ReportService);
+
+return ReportService;
+
+});