Parcourir la source

success to post email

kaori il y a 4 ans
Parent
commit
4da30c7174

+ 10 - 9
src/client/js/components/PasswordResetRequestForm.jsx

@@ -17,18 +17,18 @@ const PasswordResetRequestForm = (props) => {
   };
   };
 
 
   const onClickSendPasswordResetRequestMail = async(email) => {
   const onClickSendPasswordResetRequestMail = async(email) => {
-    if (email == null) {
-      toastError('err', 'email is required.');
-      return;
-    }
+    // if (email == null) {
+    //   toastError('err', 'email is required.');
+    //   return;
+    // }
 
 
     try {
     try {
       const res = await appContainer.apiPost('/forgot-password', { email });
       const res = await appContainer.apiPost('/forgot-password', { email });
       console.log('resHOge', res);
       console.log('resHOge', res);
       // const { failedToSendEmail } = res.data;
       // const { failedToSendEmail } = res.data;
       // if (failedToSendEmail == null) {
       // if (failedToSendEmail == null) {
-      const msg = `Email has been sent<br>・${email}`;
-      toastSuccess(msg);
+      // const msg = `Email has been sent<br>・${email}`;
+      // toastSuccess(msg);
       // }
       // }
       // else {
       // else {
       //   const msg = { message: `email: ${failedToSendEmail.email}<br>reason: ${failedToSendEmail.reason}` };
       //   const msg = { message: `email: ${failedToSendEmail.email}<br>reason: ${failedToSendEmail.reason}` };
@@ -36,12 +36,13 @@ const PasswordResetRequestForm = (props) => {
       // }
       // }
     }
     }
     catch (err) {
     catch (err) {
-      toastError(err);
+      // console.log('err', err);
+      toastError('err', err);
     }
     }
   };
   };
 
 
   return (
   return (
-    <form role="form" className="form" method="post">
+    <form role="form" action="/_api/forgot-password" className="form" method="post">
       <div className="form-group">
       <div className="form-group">
         <div className="input-group">
         <div className="input-group">
           <input name="email" placeholder="E-mail Address" className="form-control" type="email" onChange={e => changeEmail(e.target.value)} />
           <input name="email" placeholder="E-mail Address" className="form-control" type="email" onChange={e => changeEmail(e.target.value)} />
@@ -53,7 +54,7 @@ const PasswordResetRequestForm = (props) => {
           className="btn btn-lg btn-primary btn-block"
           className="btn btn-lg btn-primary btn-block"
           value="Reset Password"
           value="Reset Password"
           type="submit"
           type="submit"
-          onClick={() => { onClickSendPasswordResetRequestMail(email) }}
+          // onClick={() => { onClickSendPasswordResetRequestMail(email) }}
         />
         />
       </div>
       </div>
       <a href="/login">
       <a href="/login">

+ 12 - 7
src/server/routes/forgot-password.js

@@ -19,6 +19,7 @@ module.exports = function(crowi, app) {
 
 
 
 
   async function sendPasswordResetEmail(email, i18n) {
   async function sendPasswordResetEmail(email, i18n) {
+    console.log('emailHoge', email);
 
 
     return mailService.send({
     return mailService.send({
       to: email,
       to: email,
@@ -35,21 +36,25 @@ module.exports = function(crowi, app) {
 
 
   api.post = async function(req, res) {
   api.post = async function(req, res) {
     const { email } = req.body;
     const { email } = req.body;
+    const grobalLang = configManager.getConfig('crowi', 'app:globalLang');
+    const i18n = req.language || grobalLang;
+
+    // res.send({ hoge: 'hogge' });
+
     try {
     try {
       const passwordResetOrderData = await PasswordResetOrder.createPasswordResetOrder(email);
       const passwordResetOrderData = await PasswordResetOrder.createPasswordResetOrder(email);
-      res.send(ApiResponse.success({ passwordResetOrderData }));
+      await sendPasswordResetEmail(email, i18n);
+      // res.send(ApiResponse.success({ passwordResetOrderData }));
+      console.log('passwordResetOrderData', passwordResetOrderData);
+      // return passwordResetOrderData;
+      res.json(ApiResponse.success({ passwordResetOrderData }));
     }
     }
     catch (err) {
     catch (err) {
       const msg = 'Error occurred during password reset request procedure';
       const msg = 'Error occurred during password reset request procedure';
       logger.error(err);
       logger.error(err);
+      console.log('err', err);
       return res.json(ApiResponse.error(msg));
       return res.json(ApiResponse.error(msg));
     }
     }
-
-    const grobalLang = configManager.getConfig('crowi', 'app:globalLang');
-    const i18n = req.language || grobalLang;
-
-    await sendPasswordResetEmail(email, i18n);
-    return;
   };
   };
 
 
 
 

+ 1 - 1
src/server/routes/index.js

@@ -177,7 +177,7 @@ module.exports = function(crowi, app) {
   app.post('/_api/hackmd.saveOnHackmd'   , accessTokenParser , loginRequiredStrictly , csrf, hackmd.validateForApi, hackmd.saveOnHackmd);
   app.post('/_api/hackmd.saveOnHackmd'   , accessTokenParser , loginRequiredStrictly , csrf, hackmd.validateForApi, hackmd.saveOnHackmd);
 
 
   app.get('/forgot-password', forgotPassword.forgotPassword);
   app.get('/forgot-password', forgotPassword.forgotPassword);
-  app.post('/forgot-password', forgotPassword.api.post);
+  app.post('/_api/forgot-password', forgotPassword.api.post);
   // TODO: apply oneTimeToken to the link by GW−6856
   // TODO: apply oneTimeToken to the link by GW−6856
   app.get('/forgot-password/hogeToken', forgotPassword.resetPassword);
   app.get('/forgot-password/hogeToken', forgotPassword.resetPassword);