From 9c2351bad97d3e873db7d8d31a60e60b460191f2 Mon Sep 17 00:00:00 2001 From: Eliot Berriot <contact@eliotberriot.com> Date: Fri, 3 May 2019 12:24:08 +0200 Subject: [PATCH] Can now provide default app name, scope and redirect uris via query string when creating app --- front/src/components/auth/ApplicationForm.vue | 10 ++++++---- front/src/components/auth/ApplicationNew.vue | 7 +++++++ front/src/router/index.js | 5 +++++ 3 files changed, 18 insertions(+), 4 deletions(-) diff --git a/front/src/components/auth/ApplicationForm.vue b/front/src/components/auth/ApplicationForm.vue index 5bd7d3b5..c2eefbfd 100644 --- a/front/src/components/auth/ApplicationForm.vue +++ b/front/src/components/auth/ApplicationForm.vue @@ -77,17 +77,19 @@ import TranslationsMixin from "@/components/mixins/Translations" export default { mixins: [TranslationsMixin], props: { - app: {type: Object, required: false} + app: {type: Object, required: false}, + defaults: {type: Object, required: false} }, data() { let app = this.app || {} + let defaults = this.defaults || {} return { isLoading: false, errors: [], fields: { - name: app.name || '', - redirect_uris: app.redirect_uris || 'urn:ietf:wg:oauth:2.0:oob', - scopes: app.scopes || 'read' + name: app.name || defaults.name || '', + redirect_uris: app.redirect_uris || defaults.redirect_uris || 'urn:ietf:wg:oauth:2.0:oob', + scopes: app.scopes || defaults.scopes || 'read' }, scopes: [ {id: "profile", icon: 'user'}, diff --git a/front/src/components/auth/ApplicationNew.vue b/front/src/components/auth/ApplicationNew.vue index 8bb36826..ba1a575f 100644 --- a/front/src/components/auth/ApplicationNew.vue +++ b/front/src/components/auth/ApplicationNew.vue @@ -9,6 +9,7 @@ <translate translate-context="Content/Applications/Title">Create a new application</translate> </h2> <application-form + :defaults="defaults" @created="$router.push({name: 'settings.applications.edit', params: {id: $event.client_id}})" /> </section> </div> @@ -19,6 +20,7 @@ import ApplicationForm from "@/components/auth/ApplicationForm" export default { + props: ['name', 'redirect_uris', 'scopes'], components: { ApplicationForm }, @@ -26,6 +28,11 @@ export default { return { application: null, isLoading: false, + defaults: { + name: this.name, + redirect_uris: this.redirect_uris, + scopes: this.scopes, + } } }, computed: { diff --git a/front/src/router/index.js b/front/src/router/index.js index 7b97cbe5..182cf61b 100644 --- a/front/src/router/index.js +++ b/front/src/router/index.js @@ -104,6 +104,11 @@ export default new Router({ { path: '/settings/applications/new', name: 'settings.applications.new', + props: (route) => ({ + scopes: route.query.scopes, + name: route.query.name, + redirect_uris: route.query.redirect_uris, + }), component: () => import(/* webpackChunkName: "core" */ "@/components/auth/ApplicationNew"), }, -- GitLab