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

# Feature/196, 198, 199 Grouping users
* Fix review feedback
* admin logics

Tatsuya Ise 8 лет назад
Родитель
Сommit
5222e81ec8
1 измененных файлов с 23 добавлено и 31 удалено
  1. 23 31
      lib/routes/admin.js

+ 23 - 31
lib/routes/admin.js

@@ -604,22 +604,15 @@ module.exports = function(crowi, app) {
   actions.userGroup.create = function (req, res) {
     var form = req.form.createGroupForm;
     if (req.form.isValid) {
-      UserGroup.isRegisterableName(form.userGroupName)
-      .then((registerable) => {
-        if (registerable) {
-          return UserGroup.createGroupByName(form.userGroupName)
-          .then((newUserGroup) => {
-            req.flash('successMessage', newUserGroup.name)
-            req.flash('createdUserGroup', newUserGroup);
-          });
-        }
-        else {
-          debug('userGroupName', form.userGroupName);
-          req.flash('errorMessage', '同じグループ名が既に存在します。');
-        }
-      })
-      .then(() => {
+      UserGroup.createGroupByName(form.userGroupName)
+      .then((newUserGroup) => {
+        req.flash('successMessage', newUserGroup.name)
+        req.flash('createdUserGroup', newUserGroup);
         return res.redirect('/admin/user-groups');
+      })
+      .catch((err) => {
+        debug('create userGroup error:', err);
+        req.flash('errorMessage', '同じグループ名が既に存在します。');
       });
     } else {
       req.flash('errorMessage', req.form.errors.join('\n'));
@@ -794,25 +787,24 @@ module.exports = function(crowi, app) {
     let user = null;
     let userGroup = null;
 
-    User.findUserByUsername(userName)
-      .then((result) => {
-        user = result;
-        // ユーザグループをIDで検索
-        return UserGroup.findById(userGroupId)
-      })
-      .then((result) => {
-        userGroup = result
-        // Relation を作成
-        return UserGroupRelation.createRelation(userGroup, user)
-      })
-      .then((result) => {
-          return res.redirect('/admin/user-group-detail/' + userGroup.name);
-      }).catch((err) => {
+    Promise.all([
+      // ユーザグループをIDで検索
+      UserGroup.findById(userGroupId),
+      // ユーザを名前で検索
+      User.findUserByUsername(userName),
+    ])
+    .then((resolves) => {
+      // Relation を作成
+      UserGroupRelation.createRelation(resolves[0], resolves[1])
+    })
+    .then((result) => {
+      return res.redirect('/admin/user-group-detail/' + userGroup.name);
+    }).catch((err) => {
       debug('Error on create user-group relation', err);
       req.flash('errorMessage', 'Error on create user-group relation');
           return res.redirect('/admin/user-group-detail/' + userGroup.name);
-      });
-    }
+    });
+  }
 
   actions.userGroupRelation.remove = function (req, res) {
     const UserGroupRelation = crowi.model('UserGroupRelation');