summaryrefslogtreecommitdiff
path: root/addons/web/static/src
diff options
context:
space:
mode:
Diffstat (limited to 'addons/web/static/src')
-rw-r--r--addons/web/static/src/js/views/control_panel/control_panel_model.js17
1 files changed, 14 insertions, 3 deletions
diff --git a/addons/web/static/src/js/views/control_panel/control_panel_model.js b/addons/web/static/src/js/views/control_panel/control_panel_model.js
index f58fbc93c4f..e59dbfb1036 100644
--- a/addons/web/static/src/js/views/control_panel/control_panel_model.js
+++ b/addons/web/static/src/js/views/control_panel/control_panel_model.js
@@ -927,10 +927,21 @@ var ControlPanelModel = mvc.Model.extend({
}
var sort = JSON.parse(favorite.sort);
var orderedBy = sort.map(function (order) {
- var orderTerms = order.split(' ');
+ var fieldName;
+ var asc;
+ var sqlNotation = order.split(' ');
+ if (sqlNotation.length > 1) {
+ // regex: \fieldName (asc|desc)?\
+ fieldName = sqlNotation[0];
+ asc = sqlNotation[1] === 'asc';
+ } else {
+ // legacy notation -- regex: \-?fieldName\
+ fieldName = order[0] === '-' ? order.slice(1) : order;
+ asc = order[0] === '-' ? false : true;
+ }
return {
- name: orderTerms[0],
- asc: orderTerms.length === 2 && orderTerms[1] === 'asc',
+ name: fieldName,
+ asc: asc,
};
});
return {