From df793c2da495b6dafed081c9832965ff8eba3645 Mon Sep 17 00:00:00 2001 From: Lucas Schoenfelder <les17@inf.ufpr.br> Date: Tue, 19 Jan 2021 21:52:32 -0300 Subject: [PATCH] fixed update email/password functionality --- .../UserPageTabs/PanelGerenciarConta.js | 26 ++++------ src/Pages/EditProfilePage.js | 47 +++++++++++++++++-- 2 files changed, 53 insertions(+), 20 deletions(-) diff --git a/src/Components/TabPanels/UserPageTabs/PanelGerenciarConta.js b/src/Components/TabPanels/UserPageTabs/PanelGerenciarConta.js index e111f1a9..0726f2c3 100644 --- a/src/Components/TabPanels/UserPageTabs/PanelGerenciarConta.js +++ b/src/Components/TabPanels/UserPageTabs/PanelGerenciarConta.js @@ -59,21 +59,18 @@ export default function TabPanelGerenciarConta (props) { key : flag, value : userInput }) - console.log(senhaAtual) } else if(type === 'novaSenha') { setNovaSenha({...novaSenha, key : flag, value : userInput }) - console.log(novaSenha) } else if (type === 'confirmacao'){ setNovaSenhaConfirmacao({...novaSenhaConfirmacao, key : flag, value : userInput }) - console.log(novaSenhaConfirmacao) } } @@ -86,7 +83,6 @@ export default function TabPanelGerenciarConta (props) { value : userInput }) - console.log(novoEmail) } const limpaCamposForm = () => { @@ -110,21 +106,18 @@ export default function TabPanelGerenciarConta (props) { e.preventDefault() if (type === 'senha'){ - if (senhaAtual.value === localStorage.getItem("@portalmec/senha")) { - const login = {senhaAtual : senhaAtual.value, novaSenha : novaSenha.value, novaSenhaConfirmacao : novaSenhaConfirmacao.value} - - if (!(senhaAtual.key || novaSenha.key || novaSenhaConfirmacao.key)) { - console.log(login) - limpaCamposForm() - props.handleSnackbar() - } - } - else { - console.log(localStorage.getItem("@portalmec/senha"), senhaAtual.value) + if (!(senhaAtual.key || novaSenha.key || novaSenhaConfirmacao.key)) { + const info = {user : {password : novaSenha.value}} + props.updateUserPassword(info) + + limpaCamposForm() } } else { - console.log(novoEmail.value) + const info = {user : {email : novoEmail.value}} + + props.updateUserEmail(info) + } } @@ -222,4 +215,3 @@ export default function TabPanelGerenciarConta (props) { </> ) } - diff --git a/src/Pages/EditProfilePage.js b/src/Pages/EditProfilePage.js index 922c1544..35d8e563 100644 --- a/src/Pages/EditProfilePage.js +++ b/src/Pages/EditProfilePage.js @@ -38,7 +38,6 @@ export default function EditProfilePage (props) { handleSnackbar(false); } - const updateUserInfo = (newUserInfo) => { console.log(newUserInfo) let config = getAxiosConfig() @@ -50,8 +49,48 @@ export default function EditProfilePage (props) { if ( res.headers['access-token'] ) { sessionStorage.setItem('@portalmec/accessToken', res.headers['access-token']) } - + props.history.push('/perfil') + + }, + (err) => { + console.log(err) + } + ) + } + + const updateUserEmail = (newUserInfo) => { + let config = getAxiosConfig() + + axios.put( (`${apiUrl}/users/` + id), newUserInfo, config + ).then ( + (res) => { + console.log(res) + if ( res.headers['access-token'] ) { + sessionStorage.setItem('@portalmec/accessToken', res.headers['access-token']) + } + + sessionStorage.setItem('@portalmec/uid', res.headers['uid']) + }, + (err) => { + console.log(err) + } + ) + } + + const updateUserPassword = (newUserInfo) => { + let config = getAxiosConfig() + + axios.put( (`${apiUrl}/users/` + id), newUserInfo, config + ).then ( + (res) => { + console.log(res) + if ( res.headers['access-token'] ) { + sessionStorage.setItem('@portalmec/accessToken', res.headers['access-token']) + } + + handleSnackbar(true) + }, (err) => { console.log(err) @@ -98,7 +137,9 @@ export default function EditProfilePage (props) { {tabValue === 0 && <TabPanelEditarPerfil updateUserInfo={updateUserInfo}/>} {tabValue === 1 && <TabPanelSolicitarContaProfessor/>} </Paper> - {tabValue === 2 && <TabPanelGerenciarConta handleSnackbar={() => {handleSnackbar(true)}}/>} + {tabValue === 2 && <TabPanelGerenciarConta updateUserEmail={updateUserEmail} + updateUserPassword={updateUserPassword} + />} </TabContentDiv> </MainContainerDiv> </div> -- GitLab