[IMP] improves the default order parameter
authorGéry Debongnie <ged@odoo.com>
Fri, 13 Jun 2014 12:55:26 +0000 (14:55 +0200)
committerGéry Debongnie <ged@odoo.com>
Fri, 13 Jun 2014 12:55:26 +0000 (14:55 +0200)
It is renamed 'default_order' and now supports the usual syntax for
sorting fields: for example 'field1, field2 desc, field3 asc'

addons/web/static/src/js/view_list.js
addons/web_kanban/static/src/js/kanban.js

index 4a63b99..2dce42f 100644 (file)
@@ -354,10 +354,13 @@ instance.web.ListView = instance.web.View.extend( /** @lends instance.web.ListVi
             this.sidebar.$el.hide();
         }
         //Sort
-        var default_order = this.fields_view.arch.attrs.order,
+        var default_order = this.fields_view.arch.attrs.default_order,
             unsorted = !this.dataset._sort.length;
         if (unsorted && default_order) {
-            this.dataset.sort(default_order);
+            _.each(default_order.split(',').reverse(), function (order) {
+                var split = _.without(order.split(' '), '');
+                self.dataset.sort(split[0], split[1] === 'desc');
+            });
         }
 
         if(this.dataset._sort.length){
index b0c0a16..56bebb8 100644 (file)
@@ -61,13 +61,17 @@ instance.web_kanban.KanbanView = instance.web.View.extend({
         $('html').off('click.kanban');
     },
     load_kanban: function(data) {
+        var self = this;
         this.fields_view = data;
 
         // use default order if defined in xml description
-        var default_order = this.fields_view.arch.attrs.order,
+        var default_order = this.fields_view.arch.attrs.default_order,
             unsorted = !this.dataset._sort.length;
         if (unsorted && default_order) {
-            this.dataset.sort(default_order);
+            _.each(default_order.split(',').reverse(), function (order) {
+                var split = _.without(order.split(' '), '');
+                self.dataset.sort(split[0], split[1] === 'desc');
+            });
         }
 
         this.$el.addClass(this.fields_view.arch.attrs['class']);