1
0
mirror of https://github.com/haiwen/seahub.git synced 2025-04-27 11:01:14 +00:00

fix link invite group member (#7763)

* fix link invite group member

* Update group-op-menu.js

---------

Co-authored-by: 孙永强 <11704063+s-yongqiang@user.noreply.gitee.com>
This commit is contained in:
awu0403 2025-04-23 14:20:44 +08:00 committed by GitHub
parent 8e2be63d3f
commit c6afca8eba
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 21 additions and 3 deletions

View File

@ -11,7 +11,7 @@ import { Utils } from '../../utils/utils';
import '../../css/group-invite-members-dialog.css';
const propTypes = {
groupID: PropTypes.string.isRequired,
groupID: PropTypes.number.isRequired,
toggleInviteMembersDialog: PropTypes.func.isRequired,
};

View File

@ -1,6 +1,6 @@
import React, { Fragment } from 'react';
import PropTypes from 'prop-types';
import { gettext, username, canAddRepo } from '../../utils/constants';
import { gettext, username, canAddRepo, isMultiTenancy } from '../../utils/constants';
import { seafileAPI } from '../../utils/seafile-api';
import { Utils } from '../../utils/utils';
import toaster from '../../components/toast';
@ -15,6 +15,7 @@ import ManageMembersDialog from '../../components/dialog/manage-members-dialog';
import DepartmentDetailDialog from '../../components/dialog/department-detail-dialog';
import LeaveGroupDialog from '../../components/dialog/leave-group-dialog';
import SingleDropdownToolbar from '../../components/toolbar/single-dropdown-toolbar';
import InviteMembersDialog from '../../components/dialog/group-invite-members-dialog';
import '../../css/group-view.css';
@ -40,7 +41,8 @@ class GroupOperationMenu extends React.Component {
isImportMembersDialogOpen: false,
isManageMembersDialogOpen: false,
isLeaveGroupDialogOpen: false,
isMembersDialogOpen: false
isMembersDialogOpen: false,
isInviteMembersDialogOpen: false
};
}
@ -106,6 +108,12 @@ class GroupOperationMenu extends React.Component {
});
};
toggleInviteMembersDialog = () => {
this.setState({
isInviteMembersDialogOpen: !this.state.isInviteMembersDialogOpen
});
};
importMembersInBatch = (file) => {
toaster.notify(gettext('It may take some time, please wait.'), { 'id': 'importing-members' });
const { group } = this.props;
@ -161,6 +169,9 @@ class GroupOperationMenu extends React.Component {
if (isStaff || isOwner) {
opList.push({ 'text': gettext('Import members'), 'onClick': this.toggleImportMembersDialog });
opList.push({ 'text': gettext('Manage members'), 'onClick': this.toggleManageMembersDialog });
if (isOwner && group.owner !== 'system admin' && !isMultiTenancy) {
opList.push({ 'text': gettext('Invite members'), 'onClick': this.toggleInviteMembersDialog });
}
opList.push('Divider');
opList.push({ 'text': gettext('Rename'), 'onClick': this.toggleRenameGroupDialog });
if (isOwner) {
@ -169,6 +180,7 @@ class GroupOperationMenu extends React.Component {
if (isOwner) {
opList.push({ 'text': gettext('Delete group'), 'onClick': this.toggleDeleteGroupDialog });
}
}
if (!isOwner && !isDepartment) {
@ -263,6 +275,12 @@ class GroupOperationMenu extends React.Component {
onLeavingGroup={this.props.onLeavingGroup}
/>
}
{this.state.isInviteMembersDialogOpen &&
<InviteMembersDialog
groupID={groupID}
toggleInviteMembersDialog={this.toggleInviteMembersDialog}
/>
}
</Fragment>
);
}