odoo.define('galicea_environment_checkup', function (require) { "use strict"; //var SystrayMenu = require('web.SystrayMenu'); //var Model = require('web.Model'); var AbstractAction = require('web.AbstractAction'); var core = require('web.core'); //var framework = require('web.framework'); var session = require('web.session'); //var Widget = require('web.Widget'); ////////////////// var QWeb = core.qweb; //var _t = core._t; /* SystrayIcon - nie dziaƂa poprawnie ??? //https://www.odoo.com/documentation/12.0/reference/javascript_reference.html var Model = require('web.Model'); var Users = new Model('res.users'); var SystrayIcon = Widget.extend({ tagName: 'li', events: { "click": "on_click", }, start: function(){ this.load(this.all_dashboards); return this._super(); }, load: function(dashboards){ var self = this; var loading_done = new $.Deferred(); Users.call('has_group', ['base.group_erp_manager']).then(function(is_admin) { if (is_admin) { session.rpc('/galicea_environment_checkup/data', {}) .then(function (data) { var counts = { 'success': 0, 'warning': 0, 'fail': 0 }; data.forEach(function (check) { ++counts[check.result]; }); var result; if (counts['fail']) { result = 'fail'; } else if (counts['warning']) { result = 'warning'; } else { result = 'success'; } self.replaceElement(QWeb.render('GaliceaEnvironmentCheckupIcon', { 'result': result, 'count': counts['warning'] + counts['fail'] })); loading_done.resolve(); }); } else { loading_done.resolve(); } }); return loading_done; }, on_click: function (event) { event.preventDefault(); this.do_action('galicea_environment_checkup.dashboard_action', {clear_breadcrumbs: true}); }, }); */ ///////////////////////////// var Dashboard = AbstractAction.extend({ // v.10 var Dashboard = Widget.extend({ start: function(){ return this.load(this.all_dashboards); }, load: function(dashboards) { var self = this; var loading_done = new $.Deferred(); session.rpc('/galicea_environment_checkup/data', {}) .then(function (data) { self._replaceElement(QWeb.render('GaliceaEnvironmentCheckupDashboard', {'data': data})); // v.10: self.replaceElement loading_done.resolve(); }); return loading_done; }, }); //!JW - nowa propozycja: core.action_registry.add('galicea_environment_checkup.environment_checkup', Dashboard); core.action_registry.add('galicea_environment_checkup.dashboard', Dashboard); //////////////////// /* v.10 var FormWidget = form_common.AbstractField.extend({ init: function() { this._super.apply(this, arguments); this.set("value", "[]"); }, render_value: function() { var data = JSON.parse(this.get('value')); if (data.length == 0) { this.replaceElement('
'); return; } this.replaceElement(QWeb.render('GaliceaEnvironmentCheckupFormWidget', {'data': data})); }, }); core.form_widget_registry.add('environment_checks', FormWidget); */ var FormView = require('web.FormView'); var FormWidget = FormView.extend({ template: "environment_checks", init: function() { this._super.apply(this, arguments); this.set("value", "[]"); }, events: { }, render_value: function() { var data = JSON.parse(this.get('value')); if (data.length == 0) { this._replaceElement('
'); return; } this._replaceElement(QWeb.render('GaliceaEnvironmentCheckupFormWidget', {'data': data})); } }); //////////////////// return { //!! SystrayIcon: SystrayIcon, Dashboard: Dashboard, FormWidget: FormWidget }; });