From 58b534fda29be0e9145458f79e7b381ec85eef6a Mon Sep 17 00:00:00 2001 From: Xavier Morel Date: Fri, 1 Jul 2011 13:58:05 +0200 Subject: [PATCH] [ADD] dashboard: registration and display of config overview client action handler, initial drafty bzr revid: xmo@openerp.com-20110701115805-h3tto0t2eaz9hd8c --- .../static/src/css/dashboard.css | 22 ++++++++++++ .../base_dashboard/static/src/js/dashboard.js | 34 +++++++++++++++++++ .../static/src/xml/base_dashboard.xml | 15 ++++++++ 3 files changed, 71 insertions(+) diff --git a/addons/base_dashboard/static/src/css/dashboard.css b/addons/base_dashboard/static/src/css/dashboard.css index b9815593221..2c9cc513ef0 100644 --- a/addons/base_dashboard/static/src/css/dashboard.css +++ b/addons/base_dashboard/static/src/css/dashboard.css @@ -126,3 +126,25 @@ top: 0px; right: 0px; } + +.openerp .oe-dashboard-config-overview ul { + list-style: none; + padding: 0; + background-color: #fafafa; +} +.openerp .oe-dashboard-config-overview li { + cursor: default; +} +.openerp .oe-dashboard-config-overview li.ui-state-error { + border: none; + background-image: none; + cursor: pointer; +} + +.openerp .oe-dashboard-config-overview li.ui-state-error:hover { + background-color: #fde6dd; +} +.openerp .oe-dashboard-config-overview li span.ui-icon { + display: inline-block; + vertical-align: bottom; +} diff --git a/addons/base_dashboard/static/src/js/dashboard.js b/addons/base_dashboard/static/src/js/dashboard.js index fe52f1affd9..926a0173178 100644 --- a/addons/base_dashboard/static/src/js/dashboard.js +++ b/addons/base_dashboard/static/src/js/dashboard.js @@ -273,4 +273,38 @@ openerp.base.form.DashBoardLegacy = openerp.base.form.DashBoard.extend({ openerp.base.form.widgets.add('hpaned', 'openerp.base.form.DashBoardLegacy'); openerp.base.form.widgets.add('vpaned', 'openerp.base.form.DashBoardLegacy'); openerp.base.form.widgets.add('board', 'openerp.base.form.DashBoard'); + +openerp.base.client_actions.add( + 'board.config.overview', 'openerp.base_dashboard.ConfigOverview' +); +if (!openerp.base_dashboard) { + openerp.base_dashboard = {}; } +openerp.base_dashboard.ConfigOverview = openerp.base.Controller.extend({ + start: function () { + new openerp.base.DataSetSearch(this.session, 'ir.actions.todo') + .read_slice(['state', 'action_id'], undefined, undefined, + this.on_records_loaded); + }, + on_records_loaded: function (records) { + var done_records = _(records).filter(function (record) { + return record.state === 'done';}), + done_ratio = done_records.length / records.length; + this.$element.html(QWeb.render('ConfigOverview', { + completion: done_ratio * 100, + todos: _(records).map(function (record) { + return { + action: record.action_id[0], + name: record.action_id[1], + state: record.state, + done: record.state === 'done', + skipped: record.state === 'skip', + to_do: record.state !== 'done' && record.state !== 'skip' + } + }) + })); + var $progress = this.$element.find('div.oe-config-progress'); + $progress.progressbar({value: $progress.data('completion')}); + } +}) +}; diff --git a/addons/base_dashboard/static/src/xml/base_dashboard.xml b/addons/base_dashboard/static/src/xml/base_dashboard.xml index 3d45efafaa2..a6b9d9f7002 100644 --- a/addons/base_dashboard/static/src/xml/base_dashboard.xml +++ b/addons/base_dashboard/static/src/xml/base_dashboard.xml @@ -64,4 +64,19 @@ +
+
+
    + +
  • + + + + + + +
  • +
+