[FIX] web client fix: crash when loading translation
authorGéry Debongnie <ged@odoo.com>
Thu, 20 Nov 2014 11:09:39 +0000 (12:09 +0100)
committerGéry Debongnie <ged@odoo.com>
Thu, 20 Nov 2014 12:22:02 +0000 (13:22 +0100)
Problem happens when the user from the website tries to load a translation,
it opens up a modal window without an action.  But the modal has a (hidden)
searchview which tries to load custom filters corresponding to that
non-existing action.

Another problem at the same time was that the view manager could not
display the breadcrumbs for a non-existing breadcrumb.

addons/web/static/src/js/search.js
addons/web/static/src/js/views.js

index d2fe807..c4627ef 100644 (file)
@@ -1611,6 +1611,7 @@ instance.web.search.FavoriteMenu = instance.web.Widget.extend({
                 }
             })
             .on('reset', this.proxy('clear_selection'));
+        if (!this.action_id) return $.when();
         return this.model.call('get_filters', [this.target_model, this.action_id])
             .done(this.proxy('prepare_dropdown_menu'));
     },
index f9d336b..1c41b04 100644 (file)
@@ -699,6 +699,7 @@ instance.web.ViewManager =  instance.web.Widget.extend({
         var self = this;
         if (!this.action_manager) return;
         var breadcrumbs = this.action_manager.get_breadcrumbs();
+        if (!breadcrumbs.length) return;
         var $breadcrumbs = _.map(_.initial(breadcrumbs), function (bc) {
             var $link = $('<a>').text(bc.title);
             $link.click(function () {