diff --git a/ayanova/src/views/cust-user.vue b/ayanova/src/views/cust-user.vue index b63ed42a..f4d451c5 100644 --- a/ayanova/src/views/cust-user.vue +++ b/ayanova/src/views/cust-user.vue @@ -861,6 +861,30 @@ export default { } catch (error) { window.$gz.errorHandler.handleFormError(error, vm); } + }, + async disableTfa() { + let vm = this; + + vm.formState.loading = true; + + //clear any errors vm might be around from previous submit + window.$gz.form.deleteAllErrorBoxErrors(vm); + try { + let res = await window.$gz.api.post(`auth/totp-disable/${vm.obj.id}`); + + if (res.error) { + vm.formState.serverError = res.error; + window.$gz.form.setErrorBoxErrors(vm); + } else { + await window.$gz.dialog.displayLTModalNotificationMessage( + "AuthTwoFactorDisabled" + ); + } + } catch (error) { + window.$gz.errorHandler.handleFormError(error, vm); + } finally { + vm.loading = false; + } } //------more above here @@ -938,6 +962,9 @@ async function clickHandler(menuItem) { case "sendreset": m.vm.sendResetCode(); break; + case "disable2fa": + m.vm.disableTfa(); + break; default: window.$gz.eventBus.$emit( "notify-warning", @@ -1039,6 +1066,13 @@ function generateMenu(vm) { key: FORM_KEY + ":sendreset", vm: vm }); + + menuOptions.menuItems.push({ + title: "AuthDisableTwoFactor", + icon: "$ayiLock", + key: FORM_KEY + ":disable2fa", + vm: vm + }); } } menuOptions.menuItems.push({ divider: true, inset: false }); @@ -1102,7 +1136,8 @@ async function fetchTranslatedText(vm) { "UserPhone1", "UserPhone2", "UserPageAddress", - "SendPasswordResetCode" + "SendPasswordResetCode", + "AuthDisableTwoFactor" ]); } diff --git a/ayanova/src/views/home-security.vue b/ayanova/src/views/home-security.vue index d0dc3ad0..c97ad8da 100644 --- a/ayanova/src/views/home-security.vue +++ b/ayanova/src/views/home-security.vue @@ -179,7 +179,9 @@ export default { //clear any errors vm might be around from previous submit window.$gz.form.deleteAllErrorBoxErrors(vm); try { - let res = await window.$gz.api.post("auth/totp-disable"); + let res = await window.$gz.api.post( + `auth/totp-disable/${vm.$store.state.userId}` + ); if (res.error) { vm.formState.serverError = res.error;