diff --git a/.github/workflows/dist.yml b/.github/workflows/dist.yml index 6c14f0802a..07b9fcb7f3 100644 --- a/.github/workflows/dist.yml +++ b/.github/workflows/dist.yml @@ -4,7 +4,7 @@ on: push: branches: - master - - "8.0" + - "9.0" env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/frontend/src/pages/org-admin/org-user-item.js b/frontend/src/pages/org-admin/org-user-item.js index 847a8738c1..4036337b50 100644 --- a/frontend/src/pages/org-admin/org-user-item.js +++ b/frontend/src/pages/org-admin/org-user-item.js @@ -76,28 +76,12 @@ class UserItem extends React.Component { this.props.toggleRevokeAdmin(email); } - changeStatus = (st) => { - let isActive; - if (st == 'active') { - isActive = 'true'; - } else { - isActive = 'false'; + changeStatus = (value) => { + const isActive = value == 'active'; + if (isActive) { + toaster.notify(gettext('It may take some time, please wait.')); } - - seafileAPI.orgAdminChangeOrgUserStatus(orgID, this.props.user.email, isActive).then(res => { - this.setState({ - currentStatus: isActive == 'true' ? 'active' : 'inactive', - highlight: false, - showMenu: false, - }); - toaster.success(gettext('Edit succeeded.')); - }).catch(error => { - let errMessage = Utils.getErrorMsg(error); - if (errMessage === gettext('Error')) { - errMessage = gettext('Edit failed.'); - } - toaster.danger(errMessage); - }); + this.props.changeStatus(this.props.user.email, isActive); } onDropdownToggleClick = (e) => { @@ -147,7 +131,7 @@ class UserItem extends React.Component { diff --git a/frontend/src/pages/org-admin/org-users-list.js b/frontend/src/pages/org-admin/org-users-list.js index 5c0994abb1..fcff10e9ce 100644 --- a/frontend/src/pages/org-admin/org-users-list.js +++ b/frontend/src/pages/org-admin/org-users-list.js @@ -6,6 +6,7 @@ import UserItem from './org-user-item'; const propTypes = { initOrgUsersData: PropTypes.func.isRequired, toggleDelete: PropTypes.func.isRequired, + changeStatus: PropTypes.func.isRequired, orgUsers: PropTypes.array.isRequired, page: PropTypes.number.isRequired, pageNext: PropTypes.bool.isRequired, @@ -79,6 +80,7 @@ class OrgUsersList extends React.Component { currentTab="users" isItemFreezed={this.state.isItemFreezed} toggleDelete={this.props.toggleDelete} + changeStatus={this.props.changeStatus} onFreezedItem={this.onFreezedItem} onUnfreezedItem={this.onUnfreezedItem} /> diff --git a/frontend/src/pages/org-admin/org-users-users.js b/frontend/src/pages/org-admin/org-users-users.js index 26a2a44619..4677fb0765 100644 --- a/frontend/src/pages/org-admin/org-users-users.js +++ b/frontend/src/pages/org-admin/org-users-users.js @@ -166,6 +166,22 @@ class OrgUsers 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); + }); + } + searchItems = (keyword) => { navigate(`${siteRoot}org/useradmin/search-users/?query=${encodeURIComponent(keyword)}`); } @@ -210,6 +226,7 @@ class OrgUsers extends Component {