diff --git a/api/funkwhale_api/music/views.py b/api/funkwhale_api/music/views.py
index 24a9cbbcd..5e3a7a4c1 100644
--- a/api/funkwhale_api/music/views.py
+++ b/api/funkwhale_api/music/views.py
@@ -153,11 +153,11 @@ class TrackViewSet(TagViewSetMixin, viewsets.ReadOnlyModelViewSet):
filter_class = filters.TrackFilter
ordering_fields = (
'creation_date',
- 'title__unaccent',
- 'album__title__unaccent',
+ 'title',
+ 'album__title',
'album__release_date',
'position',
- 'artist__name__unaccent',
+ 'artist__name',
)
def get_queryset(self):
diff --git a/changes/changelog.d/179.bugfix b/changes/changelog.d/179.bugfix
new file mode 100644
index 000000000..ac6c489e2
--- /dev/null
+++ b/changes/changelog.d/179.bugfix
@@ -0,0 +1 @@
+Fixed broken ordering in front-end lists (#179)
diff --git a/front/src/components/favorites/List.vue b/front/src/components/favorites/List.vue
index d189f2b85..120aae2a9 100644
--- a/front/src/components/favorites/List.vue
+++ b/front/src/components/favorites/List.vue
@@ -26,7 +26,7 @@
@@ -74,7 +74,7 @@ export default {
Pagination
},
data () {
- let defaultOrdering = this.getOrderingFromString(this.defaultOrdering || 'artist__name')
+ let defaultOrdering = this.getOrderingFromString(this.defaultOrdering || '-creation_date')
return {
results: null,
isLoading: false,
@@ -82,9 +82,10 @@ export default {
previousLink: null,
page: parseInt(this.defaultPage),
paginateBy: parseInt(this.defaultPaginateBy || 25),
- orderingDirection: defaultOrdering.direction,
+ orderingDirection: defaultOrdering.direction || '+',
ordering: defaultOrdering.field,
orderingOptions: [
+ ['creation_date', 'Creation date'],
['title', 'Track name'],
['album__title', 'Album name'],
['artist__name', 'Artist name']
diff --git a/front/src/components/library/Artists.vue b/front/src/components/library/Artists.vue
index aafa3a160..9f324eef3 100644
--- a/front/src/components/library/Artists.vue
+++ b/front/src/components/library/Artists.vue
@@ -19,7 +19,7 @@
@@ -95,7 +95,7 @@ export default {
page: parseInt(this.defaultPage),
query: this.defaultQuery,
paginateBy: parseInt(this.defaultPaginateBy || 12),
- orderingDirection: defaultOrdering.direction,
+ orderingDirection: defaultOrdering.direction || '+',
ordering: defaultOrdering.field,
orderingOptions: [
['creation_date', 'Creation date'],
diff --git a/front/src/components/library/Radios.vue b/front/src/components/library/Radios.vue
index 9fcadf0a6..794e3a13b 100644
--- a/front/src/components/library/Radios.vue
+++ b/front/src/components/library/Radios.vue
@@ -23,7 +23,7 @@
@@ -99,7 +99,7 @@ export default {
page: parseInt(this.defaultPage),
query: this.defaultQuery,
paginateBy: parseInt(this.defaultPaginateBy || 12),
- orderingDirection: defaultOrdering.direction,
+ orderingDirection: defaultOrdering.direction || '+',
ordering: defaultOrdering.field,
orderingOptions: [
['creation_date', 'Creation date'],
diff --git a/front/src/components/mixins/Ordering.vue b/front/src/components/mixins/Ordering.vue
index 494dddcee..6235fd7d0 100644
--- a/front/src/components/mixins/Ordering.vue
+++ b/front/src/components/mixins/Ordering.vue
@@ -13,13 +13,17 @@ export default {
}
} else {
return {
- direction: '',
+ direction: '+',
field: s
}
}
},
getOrderingAsString () {
- return [this.orderingDirection, this.ordering].join('')
+ let direction = this.orderingDirection
+ if (direction === '+') {
+ direction = ''
+ }
+ return [direction, this.ordering].join('')
}
}
}
diff --git a/front/src/components/requests/RequestsList.vue b/front/src/components/requests/RequestsList.vue
index 130214c3a..58b7f5fa9 100644
--- a/front/src/components/requests/RequestsList.vue
+++ b/front/src/components/requests/RequestsList.vue
@@ -29,7 +29,7 @@
@@ -106,7 +106,7 @@ export default {
page: parseInt(this.defaultPage),
query: this.defaultQuery,
paginateBy: parseInt(this.defaultPaginateBy || 12),
- orderingDirection: defaultOrdering.direction,
+ orderingDirection: defaultOrdering.direction || '+',
ordering: defaultOrdering.field,
status: this.defaultStatus || 'any'
}
diff --git a/front/src/views/federation/LibraryList.vue b/front/src/views/federation/LibraryList.vue
index cc833d3a3..d067705fa 100644
--- a/front/src/views/federation/LibraryList.vue
+++ b/front/src/views/federation/LibraryList.vue
@@ -26,7 +26,7 @@
@@ -102,7 +102,7 @@ export default {
page: parseInt(this.defaultPage),
query: this.defaultQuery,
paginateBy: parseInt(this.defaultPaginateBy || 50),
- orderingDirection: defaultOrdering.direction,
+ orderingDirection: defaultOrdering.direction || '+',
ordering: defaultOrdering.field,
orderingOptions: [
['creation_date', 'Creation date'],
diff --git a/front/src/views/playlists/List.vue b/front/src/views/playlists/List.vue
index 5001fb14d..cc6ad49bb 100644
--- a/front/src/views/playlists/List.vue
+++ b/front/src/views/playlists/List.vue
@@ -25,7 +25,7 @@
@@ -83,7 +83,7 @@ export default {
page: parseInt(this.defaultPage),
query: this.defaultQuery,
paginateBy: parseInt(this.defaultPaginateBy || 12),
- orderingDirection: defaultOrdering.direction,
+ orderingDirection: defaultOrdering.direction || '+',
ordering: defaultOrdering.field,
orderingOptions: [
['creation_date', 'Creation date'],