[FIX]Fixed code for if the original views collection does not contain the view looked...
authorKunal Chavda (OpenERP) <kch@tinyerp.com>
Fri, 11 Nov 2011 12:30:08 +0000 (18:00 +0530)
committerKunal Chavda (OpenERP) <kch@tinyerp.com>
Fri, 11 Nov 2011 12:30:08 +0000 (18:00 +0530)
bzr revid: kch@tinyerp.com-20111111123008-qk9nn6xo1svy1324

addons/web_dashboard/static/src/js/dashboard.js

index 5221df9..fa18d5d 100644 (file)
@@ -222,12 +222,17 @@ openerp.web.form.DashBoard = openerp.web.form.Widget.extend({
         var action_orig = _.extend({}, result.result);
         var action = result.result;
         var view_mode = this.actions_attrs[action.id]['view_mode'];
-        if(view_mode) {
-            action.views = _.map(view_mode.split(','), function(mode){
-                mode = mode === 'tree' ? 'list': mode;
-                return  _.find(action.views, function(view) {
-                    return view[1] == mode;
-                });
+        if(view_mode && view_mode != action.view_mode) {
+            var action_view_mode = action.view_mode.split(',');
+            action.views = _.map(view_mode.split(','), function(mode) {
+                if(_.indexOf(action_view_mode, mode) < 0) {
+                    return [false, mode == 'tree' ? 'list': mode];
+                } else {
+                    mode = mode === 'tree' ? 'list': mode;
+                    return _.find(action.views, function(view) {
+                        return view[1] == mode;
+                    })
+                }
             });
         }
         action.flags = {