diff --git a/addons/web/static/src/js/view_list.js b/addons/web/static/src/js/view_list.js
index 3c0ebae4122..bbea57cb959 100644
--- a/addons/web/static/src/js/view_list.js
+++ b/addons/web/static/src/js/view_list.js
@@ -399,10 +399,14 @@ instance.web.ListView = instance.web.View.extend( /** @lends instance.web.ListVi
*/
setup_columns: function (fields, grouped) {
var registry = instance.web.list.columns;
+ var reorder = this.options.reorderable;
this.columns.splice(0, this.columns.length);
this.columns.push.apply(this.columns,
_(this.fields_view.arch.children).map(function (field) {
var id = field.attrs.name;
+ if(field.attrs.widget == 'handle' && !reorder){
+ field.attrs.reorderable = reorder || true;
+ }
return registry.for_(id, fields[id], field);
}));
if (grouped) {
@@ -411,9 +415,8 @@ instance.web.ListView = instance.web.View.extend( /** @lends instance.web.ListVi
}
this.visible_columns = _.filter(this.columns, function (column) {
- return column.invisible !== '1';
+ return column.invisible !== '1' && !column.reorderable;
});
-
this.aggregate_columns = _(this.visible_columns).invoke('to_aggregate');
},
/**
@@ -1417,7 +1420,7 @@ instance.web.ListView.Groups = instance.web.Class.extend( /** @lends instance.we
if ((dataset.sort && dataset.sort())
|| !_(this.columns).any(function (column) {
return column.widget === 'handle'
- || column.name === 'sequence'; }) || !list.options.reorderable){
+ || column.name === 'sequence'; })){
return;
}
var sequence_field = _(this.columns).find(function (c) {
diff --git a/addons/web/static/src/xml/base.xml b/addons/web/static/src/xml/base.xml
index 37d2dfab414..bc107b36746 100644
--- a/addons/web/static/src/xml/base.xml
+++ b/addons/web/static/src/xml/base.xml
@@ -629,7 +629,7 @@
-
|
@@ -682,7 +682,7 @@
- |