Compare commits
9 Commits
0.4.4
...
713db5e1e8
| Author | SHA1 | Date | |
|---|---|---|---|
| 713db5e1e8 | |||
| 0795ea318d | |||
| 30f3a51ef8 | |||
| 60dea511b9 | |||
| 863568d7d0 | |||
| efcb7f5674 | |||
| e796f6dcaf | |||
| 52a082841d | |||
| e3f7497af5 |
@@ -2,8 +2,17 @@
|
|||||||
|
|
||||||
All notable changes to this project will be documented in this file. Dates are displayed in UTC.
|
All notable changes to this project will be documented in this file. Dates are displayed in UTC.
|
||||||
|
|
||||||
|
#### [0.4.5](https://git.odit.services/lfk/selfservice/compare/0.4.4...0.4.5)
|
||||||
|
|
||||||
|
- Merge pull request 'feature/32-registration-language' (#33) from feature/32-registration-language into dev [`#32`](https://git.odit.services/lfk/selfservice/issues/32)
|
||||||
|
- 🐞 fix /profile/ router on register [`52a0828`](https://git.odit.services/lfk/selfservice/commit/52a082841d47d1ed9c0997776a0784285a3f6ba7)
|
||||||
|
- pass browser locale to api/runners/register/ [`e3f7497`](https://git.odit.services/lfk/selfservice/commit/e3f7497af5860b2472b6cdfd33090b9d68b9fb49)
|
||||||
|
|
||||||
#### [0.4.4](https://git.odit.services/lfk/selfservice/compare/0.4.3...0.4.4)
|
#### [0.4.4](https://git.odit.services/lfk/selfservice/compare/0.4.3...0.4.4)
|
||||||
|
|
||||||
|
> 31 March 2021
|
||||||
|
|
||||||
|
- 🚀Bumped version to v0.4.4 [`9b62962`](https://git.odit.services/lfk/selfservice/commit/9b62962758f8a73d669bca69b77f2c09a13c9e7a)
|
||||||
- 🚑 hotfix - baseurl_selfservice -> baseurl [`84dc33b`](https://git.odit.services/lfk/selfservice/commit/84dc33bf14ace839261aea02ffbcac5d627f8200)
|
- 🚑 hotfix - baseurl_selfservice -> baseurl [`84dc33b`](https://git.odit.services/lfk/selfservice/commit/84dc33bf14ace839261aea02ffbcac5d627f8200)
|
||||||
|
|
||||||
#### [0.4.3](https://git.odit.services/lfk/selfservice/compare/0.4.2...0.4.3)
|
#### [0.4.3](https://git.odit.services/lfk/selfservice/compare/0.4.2...0.4.3)
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@odit/lfk-selfservice",
|
"name": "@odit/lfk-selfservice",
|
||||||
"version": "0.4.4",
|
"version": "0.4.5",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "vite",
|
"dev": "vite",
|
||||||
"build": "vite build",
|
"build": "vite build",
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
{
|
{
|
||||||
|
"access_is_only_provided_via_your_email_link": "Der Zugang erfolgt nur über den Link, den Sie bei der Registrierung erhalten haben.",
|
||||||
"already_have_an_account": "Sie haben bereits einen Account?",
|
"already_have_an_account": "Sie haben bereits einen Account?",
|
||||||
"apartment_suite_etc": "Addresszeile 2",
|
"apartment_suite_etc": "Addresszeile 2",
|
||||||
"configuration_error": "Konfigurationsfehler",
|
"configuration_error": "Konfigurationsfehler",
|
||||||
@@ -13,10 +14,13 @@
|
|||||||
"imprint": "Impressum",
|
"imprint": "Impressum",
|
||||||
"lap_time": "Rundenzeit",
|
"lap_time": "Rundenzeit",
|
||||||
"lap_times": "Rundenzeiten",
|
"lap_times": "Rundenzeiten",
|
||||||
|
"lost_your_registration_mail": "Haben Sie Ihre Registrierungsmail verloren?",
|
||||||
"main_page_text": "Hier können Sie sich für den Lauf Für Kaya! registrieren oder ihr Läuferprofil verwalten.",
|
"main_page_text": "Hier können Sie sich für den Lauf Für Kaya! registrieren oder ihr Läuferprofil verwalten.",
|
||||||
"mittelname": "Mittelname",
|
"mittelname": "Mittelname",
|
||||||
"nachname": "Nachname",
|
"nachname": "Nachname",
|
||||||
"no_laps_scans_were_recorded_yet": "Es wurden noch keine Runden / Scans aufgezeichnet ...",
|
"no_laps_scans_were_recorded_yet": "Es wurden noch keine Runden / Scans aufgezeichnet ...",
|
||||||
|
"not_registered_yet": "Noch nicht registriert?",
|
||||||
|
"organization": "Organisation",
|
||||||
"ort": "Ort",
|
"ort": "Ort",
|
||||||
"phone_number": "Telefonnummer",
|
"phone_number": "Telefonnummer",
|
||||||
"please_provide_a_valid_zipcode": "Bitte geben Sie eine gültige Postleitzahl an...",
|
"please_provide_a_valid_zipcode": "Bitte geben Sie eine gültige Postleitzahl an...",
|
||||||
@@ -29,7 +33,9 @@
|
|||||||
"register_now": "Jetzt für den Lauf für Kaya! 2021 registrieren."
|
"register_now": "Jetzt für den Lauf für Kaya! 2021 registrieren."
|
||||||
},
|
},
|
||||||
"register_now": "Jetzt registrieren!",
|
"register_now": "Jetzt registrieren!",
|
||||||
|
"register_now_small": "Jetzt registrieren",
|
||||||
"registrieren": "Registrieren",
|
"registrieren": "Registrieren",
|
||||||
|
"resend_the_registration_mail": "Registrierungsmail erneut versenden",
|
||||||
"save_changes": "Änderungen speichern",
|
"save_changes": "Änderungen speichern",
|
||||||
"sponsoring": "Sponsoring",
|
"sponsoring": "Sponsoring",
|
||||||
"strasse": "Straße",
|
"strasse": "Straße",
|
||||||
@@ -37,5 +43,7 @@
|
|||||||
"this_is_not_a_valid_international_phone_number": "Dies ist keine gültige internationale Telefonnummer",
|
"this_is_not_a_valid_international_phone_number": "Dies ist keine gültige internationale Telefonnummer",
|
||||||
"tos": "AGBs",
|
"tos": "AGBs",
|
||||||
"view_my_data": "Meine Läuferdaten einsehen",
|
"view_my_data": "Meine Läuferdaten einsehen",
|
||||||
"vorname": "Vorname"
|
"vorname": "Vorname",
|
||||||
|
"you_have_been_registered": "Sie wurden registriert!",
|
||||||
|
"you_have_not_provided_a_valid_access_key": "Sie haben keinen gültigen Zugangsschlüssel angegeben..."
|
||||||
}
|
}
|
||||||
@@ -1,4 +1,5 @@
|
|||||||
{
|
{
|
||||||
|
"access_is_only_provided_via_your_email_link": "Access is only provided via the link you received upon registration.",
|
||||||
"already_have_an_account": "Already have an account?",
|
"already_have_an_account": "Already have an account?",
|
||||||
"apartment_suite_etc": "Apartment, suite, etc.",
|
"apartment_suite_etc": "Apartment, suite, etc.",
|
||||||
"configuration_error": "Configuration error",
|
"configuration_error": "Configuration error",
|
||||||
@@ -13,10 +14,12 @@
|
|||||||
"imprint": "Imprint",
|
"imprint": "Imprint",
|
||||||
"lap_time": "Lap time",
|
"lap_time": "Lap time",
|
||||||
"lap_times": "Lap times",
|
"lap_times": "Lap times",
|
||||||
|
"lost_your_registration_mail": "Lost your registration mail?",
|
||||||
"main_page_text": "Here you can register for the Lauf Für Kaya! or manage your runner profile.",
|
"main_page_text": "Here you can register for the Lauf Für Kaya! or manage your runner profile.",
|
||||||
"mittelname": "Middlename",
|
"mittelname": "Middlename",
|
||||||
"nachname": "Lastname",
|
"nachname": "Lastname",
|
||||||
"no_laps_scans_were_recorded_yet": "No laps/ scans were recorded yet...",
|
"no_laps_scans_were_recorded_yet": "No laps/ scans were recorded yet...",
|
||||||
|
"not_registered_yet": "Not registered yet?",
|
||||||
"organization": "Organization",
|
"organization": "Organization",
|
||||||
"ort": "City",
|
"ort": "City",
|
||||||
"phone_number": "Phone Number",
|
"phone_number": "Phone Number",
|
||||||
@@ -30,7 +33,9 @@
|
|||||||
"register_now": "Register now for Lauf für Kaya! 2021."
|
"register_now": "Register now for Lauf für Kaya! 2021."
|
||||||
},
|
},
|
||||||
"register_now": "Register now!",
|
"register_now": "Register now!",
|
||||||
|
"register_now_small": "Register now",
|
||||||
"registrieren": "Register Now",
|
"registrieren": "Register Now",
|
||||||
|
"resend_the_registration_mail": "Resend the registration mail",
|
||||||
"save_changes": "Save changes",
|
"save_changes": "Save changes",
|
||||||
"sponsoring": "Sponsoring",
|
"sponsoring": "Sponsoring",
|
||||||
"strasse": "Street/ Block",
|
"strasse": "Street/ Block",
|
||||||
@@ -39,5 +44,6 @@
|
|||||||
"tos": "Terms of Service",
|
"tos": "Terms of Service",
|
||||||
"view_my_data": "View my data",
|
"view_my_data": "View my data",
|
||||||
"vorname": "Firstname",
|
"vorname": "Firstname",
|
||||||
"you_have_been_registered": "You have been registered!"
|
"you_have_been_registered": "You have been registered!",
|
||||||
|
"you_have_not_provided_a_valid_access_key": "You have not provided a valid access key..."
|
||||||
}
|
}
|
||||||
@@ -11,10 +11,10 @@
|
|||||||
<div class="mt-6 sm:flex place-content-center">
|
<div class="mt-6 sm:flex place-content-center">
|
||||||
<a
|
<a
|
||||||
class="w-full sm:w-auto inline-flex px-6 py-3 border border-transparent text-base font-semibold rounded-md text-gray-900 bg-white shadow-sm hover:text-gray-600 focus:outline-none focus:text-gray-600 transition ease-in-out duration-150 xl:text-lg xl:py-4"
|
class="w-full sm:w-auto inline-flex px-6 py-3 border border-transparent text-base font-semibold rounded-md text-gray-900 bg-white shadow-sm hover:text-gray-600 focus:outline-none focus:text-gray-600 transition ease-in-out duration-150 xl:text-lg xl:py-4"
|
||||||
href="./register"
|
href="./register/"
|
||||||
>{{ $t('register_now') }}</a>
|
>{{ $t('register_now') }}</a>
|
||||||
<a
|
<a
|
||||||
href="./profile"
|
href="./profile/"
|
||||||
class="mt-4 sm:ml-4 sm:mt-0 w-full sm:w-auto inline-flex px-6 py-3 border border-transparent text-base font-semibold rounded-md text-white bg-gray-800 shadow-sm hover:bg-gray-700 focus:outline-none focus:bg-gray-700 transition ease-in-out duration-150 xl:text-lg xl:py-4"
|
class="mt-4 sm:ml-4 sm:mt-0 w-full sm:w-auto inline-flex px-6 py-3 border border-transparent text-base font-semibold rounded-md text-white bg-gray-800 shadow-sm hover:bg-gray-700 focus:outline-none focus:bg-gray-700 transition ease-in-out duration-150 xl:text-lg xl:py-4"
|
||||||
>{{ $t('view_my_data') }}</a>
|
>{{ $t('view_my_data') }}</a>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -1 +1,104 @@
|
|||||||
<template>You have not provided a valid access key...</template>
|
<template>
|
||||||
|
<div class="min-h-screen flex items-center justify-center">
|
||||||
|
<div class="max-w-md w-full py-12 px-6">
|
||||||
|
<img class="mx-auto h-24 w-auto" src="/favicon.png" alt />
|
||||||
|
<h1
|
||||||
|
class="sm:text-3xl text-2xl font-medium title-font mb-4 text-center"
|
||||||
|
>Lauf für Kaya! - {{ $t('profile') }}</h1>
|
||||||
|
<p class="mx-auto leading-relaxed text-base text-center">
|
||||||
|
{{ $t('you_have_not_provided_a_valid_access_key') }}
|
||||||
|
<br />
|
||||||
|
{{ $t('access_is_only_provided_via_your_email_link') }}
|
||||||
|
</p>
|
||||||
|
<div class="mt-6">
|
||||||
|
<div class="relative">
|
||||||
|
<div class="absolute inset-0 flex items-center">
|
||||||
|
<div class="w-full border-t border-gray-300"></div>
|
||||||
|
</div>
|
||||||
|
<div class="relative flex justify-center text-sm">
|
||||||
|
<span
|
||||||
|
class="px-2 bg-white dark:bg-gray-900"
|
||||||
|
>{{ $t('lost_your_registration_mail') }}</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="mt-4">
|
||||||
|
<label for="email_address" class="block font-medium">
|
||||||
|
{{ $t('e_mail_adress') }}
|
||||||
|
<span class="font-bold">*</span>
|
||||||
|
</label>
|
||||||
|
<input
|
||||||
|
v-model="user_email"
|
||||||
|
name="email_address"
|
||||||
|
id="email_address"
|
||||||
|
autocomplete="off"
|
||||||
|
:placeholder="[[$t('e_mail_adress')]]"
|
||||||
|
type="email"
|
||||||
|
:class="{ 'border-red-500': (!isEmail(user_email)), 'border-green-300': (isEmail(user_email)) }"
|
||||||
|
class="dark:bg-gray-800 mt-1 block w-full shadow-sm sm:text-sm border-2 bg-gray-50 text-gray-500 rounded-md p-2"
|
||||||
|
/>
|
||||||
|
<p
|
||||||
|
v-if="!isEmail(user_email)"
|
||||||
|
class="text-sm"
|
||||||
|
>{{ $t('please_provide_valid_mail') }}</p>
|
||||||
|
</div>
|
||||||
|
<div class="mt-2">
|
||||||
|
<a
|
||||||
|
:disabled="(!state.submit_enabled)"
|
||||||
|
:class="{ 'opacity-50': (!state.submit_enabled), 'cursor-not-allowed': (!state.submit_enabled) }"
|
||||||
|
@click="resendMail"
|
||||||
|
class="block w-full text-center py-2 px-3 border-2 border-gray-300 rounded-md p-1 dark:bg-gray-800 font-medium hover:border-gray-400 focus:outline-none focus:border-gray-400 sm:text-sm"
|
||||||
|
>{{ $t('resend_the_registration_mail') }}</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="mt-12">
|
||||||
|
<div class="relative">
|
||||||
|
<div class="absolute inset-0 flex items-center">
|
||||||
|
<div class="w-full border-t border-gray-300"></div>
|
||||||
|
</div>
|
||||||
|
<div class="relative flex justify-center text-sm">
|
||||||
|
<span class="px-2 bg-white dark:bg-gray-900">{{ $t('not_registered_yet') }}</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="mt-2">
|
||||||
|
<a
|
||||||
|
href="./register/"
|
||||||
|
class="text-white block w-full text-center py-2 px-3 border-2 border-gray-300 rounded-md p-1 bg-blue-800 font-medium hover:border-gray-400 focus:outline-none focus:border-gray-400 sm:text-sm"
|
||||||
|
>{{ $t('register_now_small') }}</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script setup>
|
||||||
|
import { computed, ref, reactive, defineProps } from "vue";
|
||||||
|
import axios from "redaxios";
|
||||||
|
import isEmail from 'validator/es/lib/isEmail';
|
||||||
|
import isMobilePhone from 'validator/es/lib/isMobilePhone';
|
||||||
|
import isPostalCode from 'validator/es/lib/isPostalCode';
|
||||||
|
import { useToast } from "vue-toastification";
|
||||||
|
|
||||||
|
let user_email = ref("");
|
||||||
|
//
|
||||||
|
const state = reactive({
|
||||||
|
org_name: "",
|
||||||
|
org_teams: [],
|
||||||
|
submit_enabled: computed(() => isEmail(user_email.value))
|
||||||
|
})
|
||||||
|
const toast = useToast();
|
||||||
|
function resendMail() {
|
||||||
|
if (isEmail(user_email.value)) {
|
||||||
|
toast("sending password reset mail...");
|
||||||
|
const browserlocale = ((navigator.languages && navigator.languages[0]) || '').substr(0, 2);
|
||||||
|
axios.post(`${config.baseurl}api/runners/forgot?mail=${user_email.value}&locale=${browserlocale}`)
|
||||||
|
.then(({ data }) => {
|
||||||
|
console.log(data);
|
||||||
|
toast("sent password reset mail to " + user_email.value + "!");
|
||||||
|
})
|
||||||
|
.catch((error) => {
|
||||||
|
console.log(error);
|
||||||
|
toast("user does not exist...");
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
@@ -261,8 +261,6 @@ import isEmail from 'validator/es/lib/isEmail';
|
|||||||
import isMobilePhone from 'validator/es/lib/isMobilePhone';
|
import isMobilePhone from 'validator/es/lib/isMobilePhone';
|
||||||
import isPostalCode from 'validator/es/lib/isPostalCode';
|
import isPostalCode from 'validator/es/lib/isPostalCode';
|
||||||
import { useToast } from "vue-toastification";
|
import { useToast } from "vue-toastification";
|
||||||
// import { router } from '../router';
|
|
||||||
import { i18n } from '../language';
|
|
||||||
|
|
||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
token: String
|
token: String
|
||||||
@@ -320,14 +318,16 @@ function login() {
|
|||||||
postdata.team = org_team.value;
|
postdata.team = org_team.value;
|
||||||
}
|
}
|
||||||
toast("registration in progress...");
|
toast("registration in progress...");
|
||||||
let url = `${config.baseurl}api/runners/register`;
|
const browserlocale = ((navigator.languages && navigator.languages[0]) || '').substr(0, 2);
|
||||||
|
let url = `${config.baseurl}api/runners/register/?locale=${browserlocale}`;
|
||||||
if (props.token) {
|
if (props.token) {
|
||||||
url = `${config.baseurl}api/runners/register/${props.token}`
|
url = `${config.baseurl}api/runners/register/${props.token}/?locale=${browserlocale}`
|
||||||
}
|
}
|
||||||
axios.post(url, postdata)
|
axios.post(url, postdata)
|
||||||
.then(({ data }) => {
|
.then(({ data }) => {
|
||||||
const token = btoa(data.token);
|
const token = btoa(data.token);
|
||||||
// router.push(`${config.baseurl_selfservice}/profile/${token}`);
|
// alert(token);
|
||||||
|
location.replace(`${config.baseurl_selfservice}profile/${token}`);
|
||||||
})
|
})
|
||||||
.catch((error) => {
|
.catch((error) => {
|
||||||
console.log(error);
|
console.log(error);
|
||||||
|
|||||||
Reference in New Issue
Block a user