From 1b78ef31c20fab4b0394dee881b3870a5fab9d22 Mon Sep 17 00:00:00 2001
From: Eliot Berriot <contact@eliotberriot.com>
Date: Tue, 24 Jul 2018 22:24:56 +0200
Subject: [PATCH] Fixed #398: favorited status of tracks not appearing in
 interface

---
 changes/changelog.d/398.bugfix |  1 +
 front/src/store/favorites.js   | 14 ++++++++++----
 2 files changed, 11 insertions(+), 4 deletions(-)
 create mode 100644 changes/changelog.d/398.bugfix

diff --git a/changes/changelog.d/398.bugfix b/changes/changelog.d/398.bugfix
new file mode 100644
index 00000000..807b643a
--- /dev/null
+++ b/changes/changelog.d/398.bugfix
@@ -0,0 +1 @@
+Fixed favorited status of tracks not appearing in interface (#398)
diff --git a/front/src/store/favorites.js b/front/src/store/favorites.js
index 5d092a72..131db24b 100644
--- a/front/src/store/favorites.js
+++ b/front/src/store/favorites.js
@@ -57,13 +57,19 @@ export default {
       // will fetch favorites by batches from API to have them locally
       let params = {
         user: rootState.auth.profile.id,
-        page_size: 50
+        page_size: 50,
+        ordering: '-creation_date'
       }
-      url = url || 'favorites/tracks/'
-      return axios.get(url, {params: params}).then((response) => {
+      let promise
+      if (url) {
+        promise = axios.get(url)
+      } else {
+        promise = axios.get('favorites/tracks/', {params: params})
+      }
+      return promise.then((response) => {
         logger.default.info('Fetched a batch of ' + response.data.results.length + ' favorites')
         response.data.results.forEach(result => {
-          commit('track', {id: result.track, value: true})
+          commit('track', {id: result.track.id, value: true})
         })
         if (response.data.next) {
           dispatch('fetch', response.data.next)
-- 
GitLab