Yuki Takei 7 лет назад
Родитель
Сommit
684ac9c9a1
2 измененных файлов с 18 добавлено и 14 удалено
  1. 17 13
      src/server/routes/admin.js
  2. 1 1
      src/server/views/admin/external-accounts.html

+ 17 - 13
src/server/routes/admin.js

@@ -631,20 +631,24 @@ module.exports = function(crowi, app) {
       });
   };
 
-  actions.externalAccount.remove = function(req, res) {
-    const accountId = req.params.id;
+  actions.externalAccount.remove = async function(req, res) {
+    const id = req.params.id;
 
-    ExternalAccount.findOneAndRemove({accountId})
-      .then((result) => {
-        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');
-        }
-      });
+    let account = null;
+
+    try {
+      account = await ExternalAccount.findByIdAndRemove(id);
+      if (account == null) {
+        throw new Error('削除に失敗しました。');
+      }
+    }
+    catch (err) {
+      req.flash('errorMessage', err.message);
+      return res.redirect('/admin/users/external-accounts');
+    }
+
+    req.flash('successMessage', `外部アカウント '${account.providerType}/${account.accountId}' を削除しました`);
+    return res.redirect('/admin/users/external-accounts');
   };
 
   actions.userGroup = {};

+ 1 - 1
src/server/views/admin/external-accounts.html

@@ -100,7 +100,7 @@
                 </button>
                 <ul class="dropdown-menu" role="menu">
                   <li class="dropdown-header">{{ t('user_management.Edit menu') }}</li>
-                  <form id="form_remove_{{ loop.index }}" action="/admin/users/external-accounts/{{ account.accountId }}/remove" method="post">
+                  <form id="form_remove_{{ loop.index }}" action="/admin/users/external-accounts/{{ account._id.toString() }}/remove" method="post">
                     <input type="hidden" name="_csrf" value="{{ csrf() }}">
                   </form>
                   <li>