[IMP] display breadcrumbs content in browser tabs
authorGéry Debongnie <ged@odoo.com>
Wed, 29 Oct 2014 14:43:10 +0000 (15:43 +0100)
committerGéry Debongnie <ged@odoo.com>
Fri, 31 Oct 2014 13:59:06 +0000 (14:59 +0100)
this change is simple, except that many actions display a form view in
'create' mode to edit some stuff (for example, most settings forms or
the 'Your session' action in point of sale).

As a work around, we use
a simple heuristic (nice word for horrible hack): the title displayed
is the title of the action if we have a single form view.

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

index e6ea273..3c16119 100644 (file)
@@ -81,6 +81,18 @@ instance.web.ActionManager = instance.web.Widget.extend({
             }
         }), true);
     },
+    get_title: function () {
+        if (this.widgets.length === 1) {
+            // horrible hack to display the action title instead of "New" for the actions
+            // that use a form view to edit something that do not correspond to a real model
+            // for example, point of sale "Your Session" or most settings form,
+            var widget = this.widgets[0];
+            if (widget instanceof instance.web.ViewManager && widget.view_stack.length === 1) {
+                return widget.title;
+            }
+        }
+        return _.pluck(this.get_breadcrumbs(), 'title').join(' / ');
+    },
     history_back: function() {
         var widget = _.last(this.widgets);
         if (widget instanceof instance.web.ViewManager) {
@@ -132,7 +144,7 @@ instance.web.ActionManager = instance.web.Widget.extend({
                 // this action has been explicitly marked as not pushable
                 return;
             }
-            state.title = this.inner_action.name;
+            state.title = this.get_title(); 
             if(this.inner_action.type == 'ir.actions.act_window') {
                 state.model = this.inner_action.res_model;
             }