From 30f3a51ef82ad966225abc6fd95508af56106924 Mon Sep 17 00:00:00 2001 From: Philipp Dormann Date: Thu, 1 Apr 2021 19:22:23 +0200 Subject: [PATCH] add forgot view + action ref #30 --- src/views/ProfileNone.vue | 105 ++++++++++++++------------------------ 1 file changed, 37 insertions(+), 68 deletions(-) diff --git a/src/views/ProfileNone.vue b/src/views/ProfileNone.vue index fa84bd5..c6385cf 100644 --- a/src/views/ProfileNone.vue +++ b/src/views/ProfileNone.vue @@ -27,23 +27,25 @@ *

{{ $t('please_provide_valid_mail') }}

{{ $t('resend_the_registration_mail') }}
@@ -76,77 +78,44 @@ import isMobilePhone from 'validator/es/lib/isMobilePhone'; import isPostalCode from 'validator/es/lib/isPostalCode'; import { useToast } from "vue-toastification"; -const props = defineProps({ - token: String -}) -if (props.token) { - axios.get(`${config.baseurl}api/organizations/selfservice/${props.token}`) - .then(({ data }) => { - state.org_name = data.name; - state.org_teams = data.teams; - org_team.value = data.teams[0]?.id; - }) - .catch((error) => { - console.log(error); - }); -} +// const props = defineProps({ +// token: String +// }) +// if (props.token) { +// axios.get(`${config.baseurl}api/organizations/selfservice/${props.token}`) +// .then(({ data }) => { +// state.org_name = data.name; +// state.org_teams = data.teams; +// org_team.value = data.teams[0]?.id; +// }) +// .catch((error) => { +// console.log(error); +// }); +// } -let userdetails = ref({ firstname: "", lastname: "", middlename: "", mail: "", phone: "", address: { street: "", address2: "", city: "", zipcode: "" } }); -let provide_address = ref(false); -let agb_accepted = ref(false); -let data_confirmed = ref(false); -let org_team = ref(""); +let user_email = ref(""); // const state = reactive({ org_name: "", org_teams: [], - submit_enabled: computed(() => agb_accepted.value === true && data_confirmed.value === true && (isMobilePhone(userdetails.value.phone) || !userdetails.value.phone.trim()) && isEmail(userdetails.value.mail) - && userdetails.value.firstname - && userdetails.value.lastname && (provide_address.value === false || provide_address.value === true && (userdetails.value.address.street.trim() && userdetails.value.address.city.trim() && isPostalCode(userdetails.value.address.zipcode, "DE")))) + submit_enabled: computed(() => isEmail(user_email.value)) }) const toast = useToast(); -function login() { - userdetails = userdetails.value; - if (userdetails.phone === "" || isMobilePhone(userdetails.phone)) { - if (isEmail(userdetails.mail)) { - let postdata = { - "email": userdetails.mail, - "firstname": userdetails.firstname, - "middlename": userdetails.middlename, - "lastname": userdetails.lastname, - "address": {} - } - if (isMobilePhone(userdetails.phone)) { - postdata.phone = userdetails.phone; - } - if (provide_address.value === true) { - postdata.address = { - address1: userdetails.address.street, - address2: userdetails.address.address2 || "", - city: userdetails.address.city, - postalcode: userdetails.address.zipcode, - country: "DE", - } - } - if (state.org_name !== '' && state.org_teams.length > 0) { - postdata.team = org_team.value; - } - toast("registration in progress..."); - const browserlocale = ((navigator.languages && navigator.languages[0]) || '').substr(0, 2); - let url = `${config.baseurl}api/runners/register/?locale=${browserlocale}`; - if (props.token) { - url = `${config.baseurl}api/runners/register/${props.token}/?locale=${browserlocale}` - } - axios.post(url, postdata) - .then(({ data }) => { - const token = btoa(data.token); - // alert(token); - location.replace(`${config.baseurl_selfservice}profile/${token}`); - }) - .catch((error) => { - console.log(error); - }); - } +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/?locale=${browserlocale}`, { + "mail": user_email.value + }) + .then(({ data }) => { + console.log(data); + toast("sent password reset mail to " + user_email.value + "!"); + }) + .catch((error) => { + console.log(error); + toast("user does not exist..."); + }); } } \ No newline at end of file