From 80117212b83ca088635eec6d153dcd05a973d5f7 Mon Sep 17 00:00:00 2001 From: Eliot Berriot Date: Fri, 15 Dec 2017 22:23:56 +0100 Subject: [PATCH] Fixed #2: now redirect to previous page after login --- CHANGELOG | 1 + front/src/components/auth/Login.vue | 5 ++++- front/src/main.js | 2 +- front/src/router/index.js | 3 ++- 4 files changed, 8 insertions(+), 3 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index 3b31937fc..d67dac695 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -7,6 +7,7 @@ Changelog - Import: can now specify search template when querying import sources (#45) - Player: better handling of errors when fetching the audio file (#46) +- Login form: now redirect to previous page after login (#2) 0.2.4 (2017-12-14) diff --git a/front/src/components/auth/Login.vue b/front/src/components/auth/Login.vue index 867738759..54e7b82e0 100644 --- a/front/src/components/auth/Login.vue +++ b/front/src/components/auth/Login.vue @@ -43,6 +43,9 @@ import auth from '@/auth' export default { name: 'login', + props: { + next: {type: String} + }, data () { return { // We need to initialize the component with any @@ -69,7 +72,7 @@ export default { } // We need to pass the component's this context // to properly make use of http in the auth service - auth.login(this, credentials, {path: '/library'}, function (response) { + auth.login(this, credentials, {path: this.next}, function (response) { // error callback if (response.status === 400) { self.error = 'invalid_credentials' diff --git a/front/src/main.js b/front/src/main.js index a214c3881..f15363512 100644 --- a/front/src/main.js +++ b/front/src/main.js @@ -32,7 +32,7 @@ Vue.http.interceptors.push(function (request, next) { // redirect to login form when we get unauthorized response from server if (response.status === 401) { logger.default.warn('Received 401 response from API, redirecting to login form') - router.push({name: 'login'}) + router.push({name: 'login', query: {next: router.currentRoute.fullPath}}) } }) }) diff --git a/front/src/router/index.js b/front/src/router/index.js index e546172b5..e3d008f58 100644 --- a/front/src/router/index.js +++ b/front/src/router/index.js @@ -30,7 +30,8 @@ export default new Router({ { path: '/login', name: 'login', - component: Login + component: Login, + props: (route) => ({ next: route.query.next || '/library' }) }, { path: '/logout',