From 6b2c6bed99ceb590ef83b592e43f34e13689d438 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bjo=CC=88rn=20Fromme?= Date: Thu, 11 Jul 2019 15:36:21 +0200 Subject: [PATCH] Implement user self registration for myep --- .../Resources/Private/Assets/js/_store.js | 14 ++ .../Private/Assets/js/myep/_router.js | 13 ++ .../Assets/js/myep/components/Login.vue | 1 + .../js/myep/components/Registration.vue | 124 ++++++++++++++++++ 4 files changed, 152 insertions(+) create mode 100644 public/typo3conf/ext/ep_theme/Resources/Private/Assets/js/myep/components/Registration.vue diff --git a/public/typo3conf/ext/ep_theme/Resources/Private/Assets/js/_store.js b/public/typo3conf/ext/ep_theme/Resources/Private/Assets/js/_store.js index 81783a82..e04e000a 100644 --- a/public/typo3conf/ext/ep_theme/Resources/Private/Assets/js/_store.js +++ b/public/typo3conf/ext/ep_theme/Resources/Private/Assets/js/_store.js @@ -192,6 +192,20 @@ export default new Vuex.Store({ throw error; }); }, + register({ commit }, userData) { + commit('loadingBegin'); + return axios({ + url: '/api/addresses', + data: userData, + method: 'post' + }).then((response) => { + commit('loadingFinish'); + return response; + }).catch((error) => { + commit('loadingFinish'); + throw error; + }); + }, loadSelectableValues ({ commit }) { axios({ url: '/api/countries', diff --git a/public/typo3conf/ext/ep_theme/Resources/Private/Assets/js/myep/_router.js b/public/typo3conf/ext/ep_theme/Resources/Private/Assets/js/myep/_router.js index e59aa952..5db0b8ff 100644 --- a/public/typo3conf/ext/ep_theme/Resources/Private/Assets/js/myep/_router.js +++ b/public/typo3conf/ext/ep_theme/Resources/Private/Assets/js/myep/_router.js @@ -24,6 +24,7 @@ import Login from './components/Login.vue' import CrmData from './components/CrmData.vue' import Teamer from './components/Teamer.vue' import Newsletter from './components/Newsletter.vue' +import Registration from './components/Registration' export default new VueRouter({ routes: [ @@ -39,6 +40,18 @@ export default new VueRouter({ } } }, + { + name: 'register', + path: '/register', + component: Registration, + beforeEnter (from, to, next) { + if (!store.state.loggedIn) { + next(); + } else { + next({ name: 'address' }); + } + } + }, { name: 'address', path: '/adressdaten', diff --git a/public/typo3conf/ext/ep_theme/Resources/Private/Assets/js/myep/components/Login.vue b/public/typo3conf/ext/ep_theme/Resources/Private/Assets/js/myep/components/Login.vue index d53bf168..9c847514 100644 --- a/public/typo3conf/ext/ep_theme/Resources/Private/Assets/js/myep/components/Login.vue +++ b/public/typo3conf/ext/ep_theme/Resources/Private/Assets/js/myep/components/Login.vue @@ -24,6 +24,7 @@ + Registrieren diff --git a/public/typo3conf/ext/ep_theme/Resources/Private/Assets/js/myep/components/Registration.vue b/public/typo3conf/ext/ep_theme/Resources/Private/Assets/js/myep/components/Registration.vue new file mode 100644 index 00000000..0dd96594 --- /dev/null +++ b/public/typo3conf/ext/ep_theme/Resources/Private/Assets/js/myep/components/Registration.vue @@ -0,0 +1,124 @@ + + +