diff --git a/frontend/src/pages/org-admin/org-user-item.js b/frontend/src/pages/org-admin/org-user-item.js index 4036337b50..6183c96a92 100644 --- a/frontend/src/pages/org-admin/org-user-item.js +++ b/frontend/src/pages/org-admin/org-user-item.js @@ -15,6 +15,7 @@ const propTypes = { toggleDelete: PropTypes.func.isRequired, onFreezedItem: PropTypes.func.isRequired, onUnfreezedItem: PropTypes.func.isRequired, + changeStatus: PropTypes.func.isRequired, }; class UserItem extends React.Component { diff --git a/frontend/src/pages/org-admin/org-users-search-users.js b/frontend/src/pages/org-admin/org-users-search-users.js index e8cb1f51a9..bd8e38cda8 100644 --- a/frontend/src/pages/org-admin/org-users-search-users.js +++ b/frontend/src/pages/org-admin/org-users-search-users.js @@ -25,7 +25,7 @@ class OrgUsersSearchUsersResult extends React.Component { } render() { - let { orgUsers } = this.props; + let { orgUsers, changeStatus } = this.props; return (
@@ -51,6 +51,7 @@ class OrgUsersSearchUsersResult extends React.Component { toggleDelete={this.props.toggleDelete} onFreezedItem={this.onFreezedItem} onUnfreezedItem={this.onUnfreezedItem} + changeStatus={changeStatus} /> );})} @@ -151,6 +152,22 @@ class OrgUsersSearchUsers extends Component { } } + changeStatus= (email, isActive) => { + seafileAPI.orgAdminChangeOrgUserStatus(orgID, email, isActive).then(res => { + let users = this.state.orgUsers.map(item => { + if (item.email == email) { + item['is_active']= res.data['is_active']; + } + return item; + }); + this.setState({orgUsers: users}); + toaster.success(gettext('Edit succeeded.')); + }).catch(error => { + let errMessage = Utils.getErrorMsg(error); + toaster.danger(errMessage); + }); + } + render() { const { query, isSubmitBtnActive } = this.state; @@ -181,6 +198,7 @@ class OrgUsersSearchUsers extends Component {

{gettext('Result')}