Xavier (Open ERP) has proposed merging 
lp:~openerp-dev/openerp-web/6.1-fix_dashboard_priorities-xmo into 
lp:openerp-web/6.1.

Requested reviews:
  Fabien Meghazi (OpenERP) (fme)

For more details, see:
https://code.launchpad.net/~openerp-dev/openerp-web/6.1-fix_dashboard_priorities-xmo/+merge/106341

Tentative de fixer les problèmes introduits par 
revid:[email protected]

Si une vue "list" pas par défaut est ajoutée à un dashboard (genre 
opportunités), elle va être remplacée par la vue par défaut (id=false). C'est 
moche mais jusqu'ici pas grave, le problème survient si on a un contexte ou un 
domaine de recherche qui utilise des champs manquants sur la vue par défaut 
mais présents sur la vue qu'on a voulu sauver (genre on a sauvé "group by: 
client", la colonne "client" est présente sur la vue liste des opportunités 
mais pas sur la vue list par défaut de crm.lead), dans ce cas ça pête à 
l'affichage dans le dashboard (la ListView se perd dans le bordel).

Pour fixer ça, j'ai inversé les priorités: on ne génère la vue par défaut *que* 
si elle n'a pas été trouvée dans l'array views.
-- 
https://code.launchpad.net/~openerp-dev/openerp-web/6.1-fix_dashboard_priorities-xmo/+merge/106341
Your team OpenERP R&D Team is subscribed to branch 
lp:~openerp-dev/openerp-web/6.1-fix_dashboard_priorities-xmo.
=== modified file 'addons/web_dashboard/static/src/js/dashboard.js'
--- addons/web_dashboard/static/src/js/dashboard.js	2012-03-07 16:05:03 +0000
+++ addons/web_dashboard/static/src/js/dashboard.js	2012-05-18 09:41:21 +0000
@@ -162,16 +162,10 @@
         var action_orig = _.extend({ flags : {} }, action);
 
         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;
-                    });
-                }
+                mode = mode === 'tree' ? 'list' : mode;
+                return _(action.views).find(function(view) { return view[1] == mode; })
+                    || [false, mode];
             });
         }
 

_______________________________________________
Mailing list: https://launchpad.net/~openerp-dev-gtk
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~openerp-dev-gtk
More help   : https://help.launchpad.net/ListHelp

Reply via email to