mirror of
https://github.com/haiwen/seahub.git
synced 2025-09-10 11:21:29 +00:00
update UI bug when org admin add/delete/update user (#5286)
Co-authored-by: lian <lian@seafile.com>
This commit is contained in:
@@ -76,28 +76,12 @@ class UserItem extends React.Component {
|
|||||||
this.props.toggleRevokeAdmin(email);
|
this.props.toggleRevokeAdmin(email);
|
||||||
}
|
}
|
||||||
|
|
||||||
changeStatus = (st) => {
|
changeStatus = (value) => {
|
||||||
let isActive;
|
const isActive = value == 'active';
|
||||||
if (st == 'active') {
|
if (isActive) {
|
||||||
isActive = 'true';
|
toaster.notify(gettext('It may take some time, please wait.'));
|
||||||
} else {
|
|
||||||
isActive = 'false';
|
|
||||||
}
|
}
|
||||||
|
this.props.changeStatus(this.props.user.email, isActive);
|
||||||
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);
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
onDropdownToggleClick = (e) => {
|
onDropdownToggleClick = (e) => {
|
||||||
@@ -147,7 +131,7 @@ class UserItem extends React.Component {
|
|||||||
<UserStatusEditor
|
<UserStatusEditor
|
||||||
isTextMode={true}
|
isTextMode={true}
|
||||||
isEditIconShow={isEditIconShow}
|
isEditIconShow={isEditIconShow}
|
||||||
currentStatus={this.state.currentStatus}
|
currentStatus={user.is_active ? 'active' : 'inactive'}
|
||||||
statusArray={this.statusArray}
|
statusArray={this.statusArray}
|
||||||
onStatusChanged={this.changeStatus}
|
onStatusChanged={this.changeStatus}
|
||||||
/>
|
/>
|
||||||
|
@@ -6,6 +6,7 @@ import UserItem from './org-user-item';
|
|||||||
const propTypes = {
|
const propTypes = {
|
||||||
initOrgUsersData: PropTypes.func.isRequired,
|
initOrgUsersData: PropTypes.func.isRequired,
|
||||||
toggleDelete: PropTypes.func.isRequired,
|
toggleDelete: PropTypes.func.isRequired,
|
||||||
|
changeStatus: PropTypes.func.isRequired,
|
||||||
orgUsers: PropTypes.array.isRequired,
|
orgUsers: PropTypes.array.isRequired,
|
||||||
page: PropTypes.number.isRequired,
|
page: PropTypes.number.isRequired,
|
||||||
pageNext: PropTypes.bool.isRequired,
|
pageNext: PropTypes.bool.isRequired,
|
||||||
@@ -79,6 +80,7 @@ class OrgUsersList extends React.Component {
|
|||||||
currentTab="users"
|
currentTab="users"
|
||||||
isItemFreezed={this.state.isItemFreezed}
|
isItemFreezed={this.state.isItemFreezed}
|
||||||
toggleDelete={this.props.toggleDelete}
|
toggleDelete={this.props.toggleDelete}
|
||||||
|
changeStatus={this.props.changeStatus}
|
||||||
onFreezedItem={this.onFreezedItem}
|
onFreezedItem={this.onFreezedItem}
|
||||||
onUnfreezedItem={this.onUnfreezedItem}
|
onUnfreezedItem={this.onUnfreezedItem}
|
||||||
/>
|
/>
|
||||||
|
@@ -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) => {
|
searchItems = (keyword) => {
|
||||||
navigate(`${siteRoot}org/useradmin/search-users/?query=${encodeURIComponent(keyword)}`);
|
navigate(`${siteRoot}org/useradmin/search-users/?query=${encodeURIComponent(keyword)}`);
|
||||||
}
|
}
|
||||||
@@ -210,6 +226,7 @@ class OrgUsers extends Component {
|
|||||||
<OrgUsersList
|
<OrgUsersList
|
||||||
initOrgUsersData={this.initOrgUsersData}
|
initOrgUsersData={this.initOrgUsersData}
|
||||||
toggleDelete={this.toggleOrgUsersDelete}
|
toggleDelete={this.toggleOrgUsersDelete}
|
||||||
|
changeStatus={this.changeStatus}
|
||||||
orgUsers={this.state.orgUsers}
|
orgUsers={this.state.orgUsers}
|
||||||
page={this.state.page}
|
page={this.state.page}
|
||||||
pageNext={this.state.pageNext}
|
pageNext={this.state.pageNext}
|
||||||
|
@@ -289,6 +289,9 @@ class OrgAdminUsers(APIView):
|
|||||||
logger.error(e)
|
logger.error(e)
|
||||||
user_info['quota'] = -1
|
user_info['quota'] = -1
|
||||||
|
|
||||||
|
user_info['quota_usage'] = user_info['self_usage']
|
||||||
|
user_info['quota_total'] = user_info['quota']
|
||||||
|
|
||||||
return Response(user_info)
|
return Response(user_info)
|
||||||
|
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user