From dbdba64d8c3cecea737990dec6acb5c353dc80d9 Mon Sep 17 00:00:00 2001 From: Raphael Collet Date: Fri, 27 May 2011 12:30:02 +0200 Subject: [PATCH 1/6] [FIX] remove res.widget.user entries when user deleted bzr revid: rco@openerp.com-20110527103002-3lb35jamn9v737ti --- openerp/addons/base/res/res_widget.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openerp/addons/base/res/res_widget.py b/openerp/addons/base/res/res_widget.py index 81be708a331..71bdd85fc21 100644 --- a/openerp/addons/base/res/res_widget.py +++ b/openerp/addons/base/res/res_widget.py @@ -38,7 +38,7 @@ class res_widget_user(osv.osv): _order = "sequence" _columns = { 'sequence': fields.integer('Sequence'), - 'user_id': fields.many2one('res.users','User', select=1), + 'user_id': fields.many2one('res.users','User', select=1, ondelete='cascade'), 'widget_id': fields.many2one('res.widget','Widget',required=True, ondelete='cascade'), } From 19382763fbe00fd847d3b00efcaa968aa4d44999 Mon Sep 17 00:00:00 2001 From: Fabien Meghazi Date: Mon, 6 Jun 2011 12:35:02 +0200 Subject: [PATCH 2/6] [FIX] Fixed View controller bzr revid: fme@openerp.com-20110606103502-wfph1zo7nnt2668p --- addons/base/controllers/main.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/base/controllers/main.py b/addons/base/controllers/main.py index fc846f22838..40546ddbbb5 100644 --- a/addons/base/controllers/main.py +++ b/addons/base/controllers/main.py @@ -473,8 +473,8 @@ class View(openerpweb.Controller): else: xml = ElementTree.fromstring(fvg['arch']) fvg['arch'] = Xml2Json.convert_element(xml) - for field in fvg["fields"].values(): - if field["views"]: + for field in fvg['fields'].values(): + if field.has_key('views') and field['views']: for view in field["views"].values(): self.process_view(session, view, None, transform) From 8011b649ee225edef8e73ae5cfea08bd66f524d3 Mon Sep 17 00:00:00 2001 From: Fabien Meghazi Date: Mon, 6 Jun 2011 12:54:36 +0200 Subject: [PATCH 3/6] [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 @@