Change prozess so that a user that has not activate his account gets a warning that he needs to click the activation link in the email. Withdrew sendActivationMail again.

This commit is contained in:
elweyn 2021-11-12 10:55:43 +01:00
parent 1bf8e8451d
commit 9a75604a7a
5 changed files with 14 additions and 91 deletions

View File

@ -183,10 +183,11 @@
"uppercase": "Ein Großbuchstabe erforderlich."
},
"thx": {
"activateEmail": "Deine Email wurde noch nicht aktiviert, email erneut senden?",
"activateEmail": "Deine Email wurde noch nicht aktiviert, bitte überprüfe deine Email und Klicke den Aktivierungslink!",
"checkEmail": "Deine Email würde erfolgreich verifiziert.",
"email": "Wir haben dir eine eMail gesendet.",
"emailActivated": "Danke dass Du deine Email bestätigt hast.",
"errorTitle": "Achtung!",
"register": "Du bist jetzt registriert, bitte überprüfe deine Emails und klicke auf den Aktivierungslink.",
"reset": "Dein Passwort wurde geändert.",
"title": "Danke!"

View File

@ -183,10 +183,11 @@
"uppercase": "One uppercase letter required."
},
"thx": {
"activateEmail": "Your email has not been activated yet, send again the activation email?",
"activateEmail": "Your email has not been activated yet, please check your emails and click the activation link!",
"checkEmail": "Your email has been successfully verified.",
"email": "We have sent you an email.",
"emailActivated": "Thank you your email has been activated.",
"errorTitle": "Attention!",
"register": "You are registered now, please check your emails and click the activation link.",
"reset": "Your password has been changed.",
"title": "Thank you!"

View File

@ -40,7 +40,7 @@ const routes = [
path: '/thx/:comingFrom',
component: () => import('../views/Pages/thx.vue'),
beforeEnter: (to, from, next) => {
const validFrom = ['password', 'reset', 'register', 'login', 'activateEmail']
const validFrom = ['password', 'reset', 'register', 'login']
if (!validFrom.includes(from.path.split('/')[1])) {
next({ path: '/login' })
} else {
@ -68,10 +68,6 @@ const routes = [
path: '/checkEmail/:optin',
component: () => import('../views/Pages/CheckEmail.vue'),
},
{
path: '/activateEmail',
component: () => import('../views/Pages/ActivateEmail.vue'),
},
{ path: '*', component: NotFound },
]

View File

@ -1,76 +0,0 @@
<template>
<div class="forgot-password">
<div class="header p-4">
<b-container class="container">
<div class="header-body text-center mb-7">
<b-row class="justify-content-center">
<b-col xl="5" lg="6" md="8" class="px-2">
<h1>{{ $t('site.activateEmail.headline') }}</h1>
<p class="text-lead">{{ $t('site.activateEmail.subtitle') }}</p>
</b-col>
</b-row>
</div>
</b-container>
</div>
<b-container class="mt--8 p-1">
<b-row class="justify-content-center">
<b-col lg="6" md="8">
<b-card no-body class="border-0" style="background-color: #ebebeba3 !important">
<b-card-body class="p-4">
<validation-observer ref="observer" v-slot="{ handleSubmit }">
<b-form role="form" @submit.prevent="handleSubmit(onSubmit)">
<input-email v-model="form.email"></input-email>
<div class="text-center">
<b-button type="submit" variant="primary">
{{ $t('site.activateEmail.send_now') }}
</b-button>
</div>
</b-form>
</validation-observer>
</b-card-body>
</b-card>
</b-col>
</b-row>
<div class="text-center py-lg-4">
<router-link to="/Login" class="mt-3">{{ $t('back') }}</router-link>
</div>
</b-container>
</div>
</template>
<script>
import { sendResetPasswordEmail } from '../../graphql/queries'
import InputEmail from '../../components/Inputs/InputEmail'
export default {
name: 'activateEmail',
components: {
InputEmail,
},
data() {
return {
disable: 'disabled',
form: {
email: '',
},
}
},
methods: {
async onSubmit() {
this.$apollo
.query({
query: sendResetPasswordEmail,
variables: {
email: this.form.email,
},
})
.then(() => {
this.$router.push('/thx/activateEmail')
})
.catch(() => {
this.$router.push('/thx/activateEmail')
})
},
},
}
</script>
<style></style>

View File

@ -4,10 +4,12 @@
<div class="header py-7 py-lg-8 pt-lg-9">
<b-container>
<div class="header-body text-center mb-7">
<p class="h1">{{ $t('site.thx.title') }}</p>
<p class="h1">{{ $t(displaySetup.headline) }}</p>
<p class="h4">{{ $t(displaySetup.subtitle) }}</p>
<hr />
<b-button :to="displaySetup.linkTo">{{ $t(displaySetup.button) }}</b-button>
<b-button v-if="displaySetup.linkTo" :to="displaySetup.linkTo">
{{ $t(displaySetup.button) }}
</b-button>
</div>
</b-container>
</div>
@ -17,34 +19,33 @@
<script>
const textFields = {
password: {
headline: 'site.thx.title',
subtitle: 'site.thx.email',
button: 'login',
linkTo: '/login',
},
reset: {
headline: 'site.thx.title',
subtitle: 'site.thx.reset',
button: 'login',
linkTo: '/login',
},
register: {
headline: 'site.thx.title',
subtitle: 'site.thx.register',
button: 'site.login.signin',
linkTo: '/overview',
},
checkEmail: {
headline: 'site.thx.title',
subtitle: 'site.thx.checkEmail',
button: 'login',
linkTo: '/login',
},
login: {
headline: 'site.thx.errorTitle',
subtitle: 'site.thx.activateEmail',
button: 'Send Activation Link',
linkTo: '/activateEmail',
},
activateEmail: {
subtitle: 'site.thx.emailActivated',
button: 'login',
linkTo: '/login',
},
}