+
+
+
+
+
+
+
diff --git a/webapp/components/Registration/RegistrationSlideNonce.vue b/webapp/components/Registration/RegistrationSlideNonce.vue
index 5b619641e..bb01263bd 100644
--- a/webapp/components/Registration/RegistrationSlideNonce.vue
+++ b/webapp/components/Registration/RegistrationSlideNonce.vue
@@ -52,7 +52,7 @@ export default {
mounted: function () {
this.$nextTick(function () {
// Code that will run only after the entire view has been rendered
- // console.log('mounted !!! ')
+
this.formData.nonce = this.sliderData.collectedInputData.nonce
? this.sliderData.collectedInputData.nonce
: ''
diff --git a/webapp/components/Registration/RegistrationSlider.story.js b/webapp/components/Registration/RegistrationSlider.story.js
index 65555dfb0..a801000eb 100644
--- a/webapp/components/Registration/RegistrationSlider.story.js
+++ b/webapp/components/Registration/RegistrationSlider.story.js
@@ -158,3 +158,11 @@ storiesOf('RegistrationSlider', module)
`,
}))
+ .add('no-public-registration', () => ({
+ components: { RegistrationSlider },
+ store: helpers.store,
+ data: () => ({}),
+ template: `
+
+ `,
+ }))
diff --git a/webapp/components/Registration/RegistrationSlider.vue b/webapp/components/Registration/RegistrationSlider.vue
index 5b57c167c..c10cc93e6 100644
--- a/webapp/components/Registration/RegistrationSlider.vue
+++ b/webapp/components/Registration/RegistrationSlider.vue
@@ -14,23 +14,19 @@
-
+
+
+
+
+
-
-
-
+
-
+
@@ -38,7 +34,7 @@
-
+
{{ $t('site.back-to-login') }}
@@ -61,6 +57,7 @@ import RegistrationSlideCreate from './RegistrationSlideCreate'
import RegistrationSlideEmail from '~/components/Registration/RegistrationSlideEmail'
import RegistrationSlideInvite from './RegistrationSlideInvite'
import RegistrationSlideNonce from './RegistrationSlideNonce'
+import RegistrationSlideNoPublic from './RegistrationSlideNoPublic'
export default {
name: 'RegistrationSlider',
@@ -71,14 +68,28 @@ export default {
RegistrationSlideEmail,
RegistrationSlideInvite,
RegistrationSlideNonce,
+ RegistrationSlideNoPublic,
},
props: {
registrationType: { type: String, required: true },
overwriteSliderData: { type: Object, default: () => {} },
},
data() {
- const slidersPortfolio = [
- {
+ const slidersPortfolio = {
+ noPublicRegistration: {
+ name: 'no-public-registration',
+ // title: this.$t('components.registration.create-user-account.title'),
+ title: 'No Public Registration', // Wolle
+ validated: false,
+ data: { request: null, response: null },
+ button: {
+ title: this.$t('site.back-to-login'), // Wolle
+ icon: 'arrow-right',
+ callback: this.buttonCallback,
+ sliderCallback: null, // optional set by slot
+ },
+ },
+ enterInvite: {
name: 'enter-invite',
// title: this.$t('components.registration.create-user-account.title'),
title: 'Invitation', // Wolle
@@ -91,7 +102,7 @@ export default {
sliderCallback: null, // optional set by slot
},
},
- {
+ enterEmail: {
name: 'enter-email',
title: 'E-Mail', // Wolle
validated: false,
@@ -103,7 +114,7 @@ export default {
sliderCallback: null, // optional set by slot
},
},
- {
+ enterNonce: {
name: 'enter-nonce',
title: 'E-Mail Confirmation', // Wolle
validated: false,
@@ -115,7 +126,7 @@ export default {
sliderCallback: null, // optional set by slot
},
},
- {
+ createUserAccount: {
name: 'create-user-account',
title: this.$t('components.registration.create-user-account.title'),
validated: false,
@@ -128,22 +139,29 @@ export default {
sliderCallback: null, // optional set by slot
},
},
- ]
+ }
let sliders = []
switch (this.registrationType) {
+ case 'no-public-registration':
+ sliders = [slidersPortfolio.noPublicRegistration]
+ break
case 'invite-code':
sliders = [
- slidersPortfolio[0],
- slidersPortfolio[1],
- slidersPortfolio[2],
- slidersPortfolio[3],
+ slidersPortfolio.enterInvite,
+ slidersPortfolio.enterEmail,
+ slidersPortfolio.enterNonce,
+ slidersPortfolio.createUserAccount,
]
break
case 'public-registration':
- sliders = [slidersPortfolio[1], slidersPortfolio[2], slidersPortfolio[3]]
+ sliders = [
+ slidersPortfolio.enterEmail,
+ slidersPortfolio.enterNonce,
+ slidersPortfolio.createUserAccount,
+ ]
break
case 'invite-mail':
- sliders = [slidersPortfolio[2], slidersPortfolio[3]]
+ sliders = [slidersPortfolio.enterNonce, slidersPortfolio.createUserAccount]
break
}
diff --git a/webapp/middleware/authenticated.js b/webapp/middleware/authenticated.js
index e9417963b..9ec15dd29 100644
--- a/webapp/middleware/authenticated.js
+++ b/webapp/middleware/authenticated.js
@@ -22,5 +22,5 @@ export default async ({ store, env, route, redirect }) => {
params.path = route.path
}
- return redirect('/registration/signup', params)
+ return redirect('/registration/signup', params) // Wolle
}
diff --git a/webapp/pages/registration.vue b/webapp/pages/registration.vue
index b6c3334dd..216d4aa4d 100644
--- a/webapp/pages/registration.vue
+++ b/webapp/pages/registration.vue
@@ -43,7 +43,10 @@ export default {
},
}
},
- asyncData({ app }) {
+ asyncData({ app, store, redirect }) {
+ if (store.getters['auth/isLoggedIn']) {
+ redirect('/')
+ }
return {
publicRegistration: app.$env.PUBLIC_REGISTRATION === 'true',
inviteRegistration: app.$env.INVITE_REGISTRATION === 'true',
@@ -54,7 +57,7 @@ export default {
if (this.method && ['invite-code', 'invite-mail'].includes(this.method)) {
return this.method
}
- return this.publicRegistration ? 'public-registration' : false
+ return this.publicRegistration ? 'public-registration' : 'no-public-registration'
},
},
}