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

remove UserGroupUserFormByClick

mizozobu 6 лет назад
Родитель
Сommit
1bbe831566

+ 0 - 2
resource/locales/en-US/translation.json

@@ -719,8 +719,6 @@
     "select_group": "Select a group",
     "no_groups": "No groups to select",
     "no_pages": "There are no pages the group has view permission",
-    "how_to_add1": "Enter a username to add",
-    "how_to_add2": "Select a user from user list",
     "remove_from_group": "Remove this user"
   },
 

+ 0 - 2
resource/locales/ja/translation.json

@@ -703,8 +703,6 @@
     "select_group": "グループを選択してください",
     "no_groups": "グループがありません",
     "no_pages": "グループが閲覧権限を保有するページはありません",
-    "how_to_add1": "ユーザー名を入力して追加",
-    "how_to_add2": "ユーザーを下のリストから選択",
     "remove_from_group": "グループから外す"
   },
 

+ 0 - 67
src/client/js/components/Admin/UserGroupDetail/UserGroupUserFormByClick.jsx

@@ -1,67 +0,0 @@
-import React, { Fragment } from 'react';
-import PropTypes from 'prop-types';
-import { withTranslation } from 'react-i18next';
-
-import { createSubscribedElement } from '../../UnstatedUtils';
-import AppContainer from '../../../services/AppContainer';
-import UserGroupDetailContainer from '../../../services/UserGroupDetailContainer';
-import { toastSuccess, toastError } from '../../../util/apiNotification';
-
-class UserGroupUserFormByClick extends React.Component {
-
-  constructor(props) {
-    super(props);
-    this.xss = window.xss;
-
-    this.addUserByClick = this.addUserByClick.bind(this);
-  }
-
-  async addUserByClick(username) {
-    try {
-      await this.props.userGroupDetailContainer.addUserByUsername(username);
-      toastSuccess(`Added "${this.xss.process(username)}" to "${this.xss.process(this.props.userGroupDetailContainer.state.userGroup.name)}"`);
-    }
-    catch (err) {
-      toastError(new Error(`Unable to add "${this.xss.process(username)}" to "${this.xss.process(this.props.userGroupDetailContainer.userGroup.name)}"`));
-    }
-  }
-
-  render() {
-    // eslint-disable-next-line no-unused-vars
-    const { t, userGroupDetailContainer } = this.props;
-
-    return (
-      <Fragment>
-        <ul className="list-inline">
-          {userGroupDetailContainer.state.unrelatedUsers.map((user) => {
-              return (
-                <li key={user._id}>
-                  <button type="submit" className="btn btn-xs btn-primary" onClick={() => { return this.addUserByClick(user.username) }}>
-                    {user.username}
-                  </button>
-                </li>
-              );
-            })}
-        </ul>
-
-        {userGroupDetailContainer.state.unrelatedUsers.length === 0 ? 'No users available.' : null}
-      </Fragment>
-    );
-  }
-
-}
-
-UserGroupUserFormByClick.propTypes = {
-  t: PropTypes.func.isRequired, // i18next
-  appContainer: PropTypes.instanceOf(AppContainer).isRequired,
-  userGroupDetailContainer: PropTypes.instanceOf(UserGroupDetailContainer).isRequired,
-};
-
-/**
- * Wrapper component for using unstated
- */
-const UserGroupUserFormByClickWrapper = (props) => {
-  return createSubscribedElement(UserGroupUserFormByClick, props, [AppContainer, UserGroupDetailContainer]);
-};
-
-export default withTranslation()(UserGroupUserFormByClickWrapper);

+ 0 - 9
src/client/js/components/Admin/UserGroupDetail/UserGroupUserModal.jsx

@@ -4,7 +4,6 @@ import { withTranslation } from 'react-i18next';
 import Modal from 'react-bootstrap/es/Modal';
 
 import UserGroupUserFormByInput from './UserGroupUserFormByInput';
-import UserGroupUserFormByClick from './UserGroupUserFormByClick';
 import { createSubscribedElement } from '../../UnstatedUtils';
 import AppContainer from '../../../services/AppContainer';
 import UserGroupDetailContainer from '../../../services/UserGroupDetailContainer';
@@ -20,15 +19,7 @@ class UserGroupUserModal extends React.Component {
           <Modal.Title>{ t('user_group_management.add_user') }</Modal.Title>
         </Modal.Header>
         <Modal.Body>
-          <p>
-            <strong>{ t('Method') }1.</strong> { t('user_group_management.how_to_add1') }
-          </p>
           <UserGroupUserFormByInput />
-          <hr />
-          <p>
-            <strong>{ t('Method') }2.</strong> { t('user_group_management.how_to_add2') }
-          </p>
-          <UserGroupUserFormByClick />
         </Modal.Body>
       </Modal>
     );

+ 1 - 7
src/client/js/services/UserGroupDetailContainer.js

@@ -22,7 +22,6 @@ export default class UserGroupDetailContainer extends Container {
       // TODO: [SPA] get userGroup from props
       userGroup: JSON.parse(document.getElementById('admin-user-group-detail').getAttribute('data-user-group')),
       userGroupRelations: [],
-      unrelatedUsers: [],
       relatedPages: [],
       isUserGroupUserModalOpen: false,
     };
@@ -48,17 +47,14 @@ export default class UserGroupDetailContainer extends Container {
   async init() {
     try {
       const [
-        unrelatedUsers,
         userGroupRelations,
         relatedPages,
       ] = await Promise.all([
-        this.appContainer.apiv3.get(`/user-groups/${this.state.userGroup._id}/unrelated-users`).then((res) => { return res.data.users }),
         this.appContainer.apiv3.get(`/user-groups/${this.state.userGroup._id}/user-group-relations`).then((res) => { return res.data.userGroupRelations }),
         this.appContainer.apiv3.get(`/user-groups/${this.state.userGroup._id}/pages`).then((res) => { return res.data.pages }),
       ]);
 
       await this.setState({
-        unrelatedUsers,
         userGroupRelations,
         relatedPages,
       });
@@ -88,12 +84,11 @@ export default class UserGroupDetailContainer extends Container {
 
   async addUserByUsername(username) {
     const res = await this.appContainer.apiv3.post(`/user-groups/${this.state.userGroup._id}/users/${username}`);
-    const { user, userGroupRelation } = res.data;
+    const { userGroupRelation } = res.data;
 
     this.setState((prevState) => {
       return {
         userGroupRelations: [...prevState.userGroupRelations, userGroupRelation],
-        unrelatedUsers: prevState.unrelatedUsers.filter((u) => { return u._id !== user._id }),
       };
     });
   }
@@ -104,7 +99,6 @@ export default class UserGroupDetailContainer extends Container {
     this.setState((prevState) => {
       return {
         userGroupRelations: prevState.userGroupRelations.filter((u) => { return u._id !== res.data.userGroupRelation._id }),
-        unrelatedUsers: [...prevState.unrelatedUsers, res.data.user],
       };
     });
   }