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

Merge pull request #1368 from weseek/hotfix/invite-user

Hotfix/invite user
Yuki Takei 6 лет назад
Родитель
Сommit
af8205be42

+ 21 - 5
CHANGES.md

@@ -1,12 +1,26 @@
 # CHANGES
 
-## 3.5.20-RC
+## 3.6.0-RC
 
-* 
+### BREAKING CHANGES
+
+* The name of database that is storing migrations meta data has been changed
+    * This affects **only when `MONGO_URI` has parameters**
+    * v3.5.x or above has a bug ([#1361](https://github.com/weseek/growi/issues/1361))
 
-## 3.5.19
+Upgrading Guide: https://docs.growi.org/en/admin-guide/upgrading/36x.html
+
+### Updates
 
 * Improvement: Drop unnecessary MongoDB collection indexes
+
+## 3.5.21
+
+* Fix: Inviting user doesn't work
+    * Introduced by 3.5.20
+
+## 3.5.20
+
 * Improvement: Organize MongoDB collection indexes uniqueness
 * Improvement: Reactify admin pages (External Account Management)
 * Fix: Search result or Timeline shows loading icon eternally when retrieving not accessible page
@@ -20,6 +34,8 @@
     * react-i18next
     * validator
 
+## 3.5.19 (Missing number)
+
 ## 3.5.18
 
 * Improvement: Import GROWI Archive
@@ -186,7 +202,7 @@
 * The restriction mode of the root page (`/`) will be set 'Public'
 * The restriction mode of the root page (`/`) can not be changed after v 3.5.1
 
-Upgrading Guide: https://docs.growi.org/guide/upgrading/35x.html
+Upgrading Guide: https://docs.growi.org/en/admin-guide/upgrading/35x.html
 
 ### Updates
 
@@ -303,7 +319,7 @@ Upgrading Guide: https://docs.growi.org/guide/upgrading/35x.html
 
 None.
 
-Upgrading Guide: https://docs.growi.org/guide/upgrading/34x.html
+Upgrading Guide: https://docs.growi.org/en/admin-guide/upgrading/34x.html
 
 ### Updates
 

+ 1 - 1
package.json

@@ -1,6 +1,6 @@
 {
   "name": "growi",
-  "version": "3.5.20-RC",
+  "version": "3.5.21-RC",
   "description": "Team collaboration software using markdown",
   "tags": [
     "wiki",

+ 2 - 1
src/client/js/components/Admin/Users/UserRemoveButton.jsx

@@ -19,7 +19,8 @@ class UserRemoveButton extends React.Component {
     const { t } = this.props;
 
     try {
-      const username = await this.props.adminUsersContainer.removeUser(this.props.user._id);
+      await this.props.adminUsersContainer.removeUser(this.props.user._id);
+      const { username } = this.props.user;
       toastSuccess(t('user_management.remove_user_success', { username }));
     }
     catch (err) {

+ 4 - 4
src/client/js/services/AdminUsersContainer.js

@@ -74,9 +74,9 @@ export default class AdminUsersContainer extends Container {
       shapedEmailList,
       sendEmail,
     });
-    const { emailList } = response.data;
     await this.retrieveUsersByPagingNum(this.state.activePage);
-    return emailList;
+    const { invitedUserList } = response.data;
+    return invitedUserList;
   }
 
   /**
@@ -163,13 +163,13 @@ export default class AdminUsersContainer extends Container {
    * remove user
    * @memberOf AdminUsersContainer
    * @param {string} userId
-   * @return {string} username
+   * @return {object} removedUserData
    */
   async removeUser(userId) {
     const response = await this.appContainer.apiv3.delete(`/users/${userId}/remove`);
     const removedUserData = response.data.userData;
     await this.retrieveUsersByPagingNum(this.state.activePage);
-    return removedUserData.username;
+    return removedUserData;
   }
 
 }

+ 1 - 2
src/server/routes/apiv3/users.js

@@ -350,7 +350,7 @@ module.exports = (crowi) => {
    *                schema:
    *                  properties:
    *                    paginateResult:
-   *                      $ref: '#components/schemas/PaginateResult'
+   *                      $ref: '#/components/schemas/PaginateResult'
    */
   router.get('/external-accounts/', loginRequiredStrictly, adminRequired, async(req, res) => {
     const page = parseInt(req.query.page) || 1;
@@ -392,7 +392,6 @@ module.exports = (crowi) => {
    *                      type: object
    *                      description: A result of `ExtenralAccount.findByIdAndRemove`
    */
-
   router.delete('/external-accounts/:id/remove', loginRequiredStrictly, adminRequired, ApiV3FormValidator, async(req, res) => {
     const { id } = req.params;