From 8011b649ee225edef8e73ae5cfea08bd66f524d3 Mon Sep 17 00:00:00 2001 From: Fabien Meghazi Date: Mon, 6 Jun 2011 12:54:36 +0200 Subject: [PATCH] [ADD] "Reset" feature in dashboards bzr revid: fme@openerp.com-20110606105436-wpo7xyiiy2o6jyzm --- addons/base/controllers/main.py | 7 +++++-- addons/base_dashboard/static/src/js/dashboard.js | 9 ++++++++- addons/base_dashboard/static/src/xml/base_dashboard.xml | 4 ++++ 3 files changed, 17 insertions(+), 3 deletions(-) diff --git a/addons/base/controllers/main.py b/addons/base/controllers/main.py index 40546ddbbb5..342f9efc6cf 100644 --- a/addons/base/controllers/main.py +++ b/addons/base/controllers/main.py @@ -489,11 +489,14 @@ class View(openerpweb.Controller): return {'result': True} @openerpweb.jsonrequest - def undo_custom(self, request, view_id): + def undo_custom(self, request, view_id, reset=False): CustomView = request.session.model('ir.ui.view.custom') vcustom = CustomView.search([('user_id', '=', request.session._uid), ('ref_id' ,'=', view_id)]) if vcustom: - CustomView.unlink([vcustom[0]]) + if reset: + CustomView.unlink(vcustom) + else: + CustomView.unlink([vcustom[0]]) return {'result': True} return {'result': False} diff --git a/addons/base_dashboard/static/src/js/dashboard.js b/addons/base_dashboard/static/src/js/dashboard.js index 9d6511fd215..6e6a0a5a1f1 100644 --- a/addons/base_dashboard/static/src/js/dashboard.js +++ b/addons/base_dashboard/static/src/js/dashboard.js @@ -18,6 +18,7 @@ openerp.base.form.DashBoard = openerp.base.form.Widget.extend({ // Events this.$element.find('.oe-dashboard-link-undo').click(this.on_undo); + this.$element.find('.oe-dashboard-link-reset').click(this.on_reset); this.$element.find('.oe-dashboard-link-add_widget').click(this.on_add_widget); this.$element.find('.oe-dashboard-link-change_layout').click(this.on_change_layout); this.$element.find('.oe-dashboard-column .ui-icon-minusthick').click(this.on_fold_action); @@ -42,6 +43,12 @@ openerp.base.form.DashBoard = openerp.base.form.Widget.extend({ view_id: this.view.fields_view.view_id }, this.do_reload); }, + on_reset: function() { + this.rpc('/base/view/undo_custom', { + view_id: this.view.fields_view.view_id, + reset: true + }, this.do_reload); + }, on_add_widget: function() { }, on_change_layout: function() { @@ -112,7 +119,7 @@ openerp.base.form.DashBoard = openerp.base.form.Widget.extend({ view_id: this.view.fields_view.view_id, arch: arch }, function() { - self.$element.find('.oe-dashboard-link-undo').show(); + self.$element.find('.oe-dashboard-link-undo, .oe-dashboard-link-reset').show(); }); }, on_load_action: function(result) { diff --git a/addons/base_dashboard/static/src/xml/base_dashboard.xml b/addons/base_dashboard/static/src/xml/base_dashboard.xml index 9c43be6996c..fbe34a3892b 100644 --- a/addons/base_dashboard/static/src/xml/base_dashboard.xml +++ b/addons/base_dashboard/static/src/xml/base_dashboard.xml @@ -1,6 +1,10 @@