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

Impl External Accounts Page (/external-accounts/:id/remove)

Yuki Takei 8 лет назад
Родитель
Сommit
f5796aca54
3 измененных файлов с 17 добавлено и 2 удалено
  1. 14 0
      lib/routes/admin.js
  2. 2 1
      lib/routes/index.js
  3. 1 1
      lib/views/admin/external-accounts.html

+ 14 - 0
lib/routes/admin.js

@@ -487,6 +487,20 @@ module.exports = function(crowi, app) {
       });
   };
 
+  actions.externalAccount.remove = function(req, res) {
+    const accountId = req.params.id;
+
+    ExternalAccount.findOneAndRemove({accountId})
+      .then((result) => {
+        req.flash('successMessage', `外部アカウント '${accountId}' を削除しました`);
+        return res.redirect('/admin/external-accounts');
+      })
+      .catch((err) => {
+        req.flash('errorMessage', '削除に失敗しました。');
+        return res.redirect('/admin/external-accounts');
+      });
+  };
+
   actions.api = {};
   actions.api.appSetting = function(req, res) {
     var form = req.form.settingForm;

+ 2 - 1
lib/routes/index.js

@@ -102,7 +102,8 @@ module.exports = function(crowi, app) {
   // new route patterns from here:
   app.post('/_api/admin/users.resetPassword'  , loginRequired(crowi, app) , middleware.adminRequired() , csrf, admin.user.resetPassword);
 
-  app.get('/admin/external-accounts'    , loginRequired(crowi, app) , middleware.adminRequired() , admin.externalAccount.index);
+  app.get('/admin/external-accounts'               , loginRequired(crowi, app) , middleware.adminRequired() , admin.externalAccount.index);
+  app.post('/admin/external-accounts/:id/remove'   , loginRequired(crowi, app) , middleware.adminRequired() , admin.externalAccount.remove);
 
   app.get('/me'                       , loginRequired(crowi, app) , me.index);
   app.get('/me/password'              , loginRequired(crowi, app) , me.password);

+ 1 - 1
lib/views/admin/external-accounts.html

@@ -53,7 +53,7 @@
                   data-toggle="popover" data-placement="bottom"
                   data-trigger="focus" tabindex="0" role="button" {# dismiss settings #}
                   data-animation="false" data-html="true"
-                  data-content="<small>関連付けられているユーザーがパスワードを設定しているかどうかを表示します。<br>未設定のアカウントを削除するとログインできなくなるので注意してください。</small>">
+                  data-content="<small>関連付けられているユーザーがパスワードを設定しているかどうかを表示します</small>">
                 <i class="fa fa-info-circle" aria-hidden="true"></i>
               </a>
             </th>