Просмотр исходного кода

BugFix: handle the result message when diassociate/remove ExternalAccount if the document can not be found

Yuki Takei 8 лет назад
Родитель
Сommit
ca0d31e09e
2 измененных файлов с 16 добавлено и 12 удалено
  1. 8 6
      lib/routes/admin.js
  2. 8 6
      lib/routes/me.js

+ 8 - 6
lib/routes/admin.js

@@ -492,12 +492,14 @@ module.exports = function(crowi, app) {
 
     ExternalAccount.findOneAndRemove({accountId})
       .then((result) => {
-        req.flash('successMessage', `外部アカウント '${accountId}' を削除しました`);
-        return res.redirect('/admin/users/external-accounts');
-      })
-      .catch((err) => {
-        req.flash('errorMessage', '削除に失敗しました。');
-        return res.redirect('/admin/users/external-accounts');
+        if (result == null) {
+          req.flash('errorMessage', '削除に失敗しました。');
+          return res.redirect('/admin/users/external-accounts');
+        }
+        else {
+          req.flash('successMessage', `外部アカウント '${accountId}' を削除しました`);
+          return res.redirect('/admin/users/external-accounts');
+        }
       });
   };
 

+ 8 - 6
lib/routes/me.js

@@ -192,12 +192,14 @@ module.exports = function(crowi, app) {
     const accountId = req.body.accountId;
     const userData = req.user;
 
-    ExternalAccount.deleteOne({providerType, accountId, user: userData})
-      .then(() => {
-        return redirectWithFlash('successMessage', 'Successfully disassociated.');
-      })
-      .catch((err) => {
-        return redirectWithFlash('errorMessage', err.message);
+    ExternalAccount.findOneAndRemove({providerType, accountId, user: userData})
+      .then((account) => {
+        if (account == null) {
+          return redirectWithFlash('errorMessage', 'ExternalAccount not found.');
+        }
+        else {
+          return redirectWithFlash('successMessage', 'Successfully disassociated.');
+        }
       });
 
   }