diff options
| author | Xavier Morel <xmo@openerp.com> | 2011-07-01 13:58:05 +0200 |
|---|---|---|
| committer | Xavier Morel <xmo@openerp.com> | 2011-07-01 13:58:05 +0200 |
| commit | 58b534fda29be0e9145458f79e7b381ec85eef6a (patch) | |
| tree | 06e21fa51d4f202d93e14cf7d1dc0518593d59e0 /addons/base_dashboard/static/src/js | |
| parent | 50aaf7b3ab0c2833503e3c48590028d6f5411899 (diff) | |
[ADD] dashboard: registration and display of config overview client action handler, initial drafty
bzr revid: xmo@openerp.com-20110701115805-h3tto0t2eaz9hd8c
Diffstat (limited to 'addons/base_dashboard/static/src/js')
| -rw-r--r-- | addons/base_dashboard/static/src/js/dashboard.js | 34 |
1 files changed, 34 insertions, 0 deletions
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')}); + } +}) +}; |
