mirror of
https://github.com/haiwen/seahub.git
synced 2025-08-07 18:13:56 +00:00
[folder perm] added it for department repo
This commit is contained in:
parent
8f54bbf6ff
commit
31a5e955cc
@ -53,10 +53,10 @@ class LibSubFolderPermissionDialog extends React.Component {
|
|||||||
<div className="share-dialog-main">
|
<div className="share-dialog-main">
|
||||||
<TabContent activeTab={this.state.activeTab}>
|
<TabContent activeTab={this.state.activeTab}>
|
||||||
<TabPane tabId="userPermission">
|
<TabPane tabId="userPermission">
|
||||||
<LibSubFolderSetUserPermissionDialog repoID={this.props.repoID} repoName={this.props.repoName} folderPath={this.props.folderPath} />
|
<LibSubFolderSetUserPermissionDialog repoID={this.props.repoID} repoName={this.props.repoName} folderPath={this.props.folderPath} isDepartmentRepo={this.props.isDepartmentRepo} />
|
||||||
</TabPane>
|
</TabPane>
|
||||||
<TabPane tabId="groupPermission">
|
<TabPane tabId="groupPermission">
|
||||||
<LibSubFolderSetGroupPermissionDialog repoID={this.props.repoID} repoName={this.props.repoName} folderPath={this.props.folderPath} />
|
<LibSubFolderSetGroupPermissionDialog repoID={this.props.repoID} repoName={this.props.repoName} folderPath={this.props.folderPath} isDepartmentRepo={this.props.isDepartmentRepo} />
|
||||||
</TabPane>
|
</TabPane>
|
||||||
</TabContent>
|
</TabContent>
|
||||||
</div>
|
</div>
|
||||||
|
@ -71,7 +71,8 @@ class GroupItem extends React.Component {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const propTypes = {
|
const propTypes = {
|
||||||
repoID: PropTypes.string.isRequired
|
repoID: PropTypes.string.isRequired,
|
||||||
|
isDepartmentRepo: PropTypes.bool
|
||||||
};
|
};
|
||||||
|
|
||||||
const NoOptionsMessage = (props) => {
|
const NoOptionsMessage = (props) => {
|
||||||
@ -122,9 +123,8 @@ class LibSubFolderSerGroupPermissionDialog extends React.Component {
|
|||||||
}
|
}
|
||||||
|
|
||||||
listGroupPermissionItems = () => {
|
listGroupPermissionItems = () => {
|
||||||
let repoID = this.props.repoID;
|
const { isDepartmentRepo, repoID, folderPath } = this.props;
|
||||||
let folderPath = this.props.folderPath;
|
seafileAPI.listGroupFolderPerm(isDepartmentRepo, repoID, folderPath).then((res) => {
|
||||||
seafileAPI.listGroupFolderPerm(repoID, folderPath).then((res) => {
|
|
||||||
if (res.data.length !== 0) {
|
if (res.data.length !== 0) {
|
||||||
this.setState({
|
this.setState({
|
||||||
groupPermissionItems: res.data
|
groupPermissionItems: res.data
|
||||||
@ -144,7 +144,7 @@ class LibSubFolderSerGroupPermissionDialog extends React.Component {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
seafileAPI.addGroupFolderPerm(this.props.repoID, this.state.permission, folderPath, selectedOption.id).then(res => {
|
seafileAPI.addGroupFolderPerm(this.props.isDepartmentRepo, this.props.repoID, this.state.permission, folderPath, selectedOption.id).then(res => {
|
||||||
let errorMsg = [];
|
let errorMsg = [];
|
||||||
if (res.data.failed.length > 0) {
|
if (res.data.failed.length > 0) {
|
||||||
for (let i = 0; i < res.data.failed.length; i++) {
|
for (let i = 0; i < res.data.failed.length; i++) {
|
||||||
@ -177,7 +177,7 @@ class LibSubFolderSerGroupPermissionDialog extends React.Component {
|
|||||||
}
|
}
|
||||||
|
|
||||||
deleteGroupPermissionItem = (item) => {
|
deleteGroupPermissionItem = (item) => {
|
||||||
seafileAPI.deleteGroupFolderPerm(item.repo_id, item.permission, item.folder_path, item.group_id).then(() => {
|
seafileAPI.deleteGroupFolderPerm(this.props.isDepartmentRepo, item.repo_id, item.permission, item.folder_path, item.group_id).then(() => {
|
||||||
this.setState({
|
this.setState({
|
||||||
groupPermissionItems: this.state.groupPermissionItems.filter(deletedItem => { return deletedItem != item; })
|
groupPermissionItems: this.state.groupPermissionItems.filter(deletedItem => { return deletedItem != item; })
|
||||||
});
|
});
|
||||||
@ -185,7 +185,7 @@ class LibSubFolderSerGroupPermissionDialog extends React.Component {
|
|||||||
}
|
}
|
||||||
|
|
||||||
onChangeGroupPermission = (item, permission) => {
|
onChangeGroupPermission = (item, permission) => {
|
||||||
seafileAPI.updateGroupFolderPerm(item.repo_id, permission, item.folder_path, item.group_id).then(() => {
|
seafileAPI.updateGroupFolderPerm(this.props.isDepartmentRepo, item.repo_id, permission, item.folder_path, item.group_id).then(() => {
|
||||||
this.updateGroupPermission(item, permission);
|
this.updateGroupPermission(item, permission);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -72,7 +72,8 @@ class UserItem extends React.Component {
|
|||||||
|
|
||||||
|
|
||||||
const propTypes = {
|
const propTypes = {
|
||||||
repoID: PropTypes.string.isRequired
|
repoID: PropTypes.string.isRequired,
|
||||||
|
isDepartmentRepo: PropTypes.bool
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
@ -100,9 +101,8 @@ class LibSubFolderSetUserPermissionDialog extends React.Component {
|
|||||||
}
|
}
|
||||||
|
|
||||||
componentDidMount() {
|
componentDidMount() {
|
||||||
let repoID = this.props.repoID;
|
const {repoID, folderPath, isDepartmentRepo} = this.props;
|
||||||
let folderPath = this.props.folderPath;
|
seafileAPI.listUserFolderPerm(isDepartmentRepo, repoID, folderPath).then((res) => {
|
||||||
seafileAPI.listUserFolderPerm(repoID, folderPath).then((res) => {
|
|
||||||
if (res.data.length !== 0) {
|
if (res.data.length !== 0) {
|
||||||
this.setState({userFolderPermItems: res.data});
|
this.setState({userFolderPermItems: res.data});
|
||||||
}
|
}
|
||||||
@ -121,7 +121,7 @@ class LibSubFolderSetUserPermissionDialog extends React.Component {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const users = selectedUsers.map((item, index) => item.email);
|
const users = selectedUsers.map((item, index) => item.email);
|
||||||
seafileAPI.addUserFolderPerm(this.props.repoID, this.state.permission, folderPath, users).then(res => {
|
seafileAPI.addUserFolderPerm(this.props.isDepartmentRepo, this.props.repoID, this.state.permission, folderPath, users).then(res => {
|
||||||
let errorMsg = [];
|
let errorMsg = [];
|
||||||
if (res.data.failed.length > 0) {
|
if (res.data.failed.length > 0) {
|
||||||
for (let i = 0; i < res.data.failed.length; i++) {
|
for (let i = 0; i < res.data.failed.length; i++) {
|
||||||
@ -154,7 +154,7 @@ class LibSubFolderSetUserPermissionDialog extends React.Component {
|
|||||||
}
|
}
|
||||||
|
|
||||||
deleteUserFolderPermItem = (item) => {
|
deleteUserFolderPermItem = (item) => {
|
||||||
seafileAPI.deleteUserFolderPerm(item.repo_id, item.permission, item.folder_path, item.user_email).then(res => {
|
seafileAPI.deleteUserFolderPerm(this.props.isDepartmentRepo, item.repo_id, item.permission, item.folder_path, item.user_email).then(res => {
|
||||||
this.setState({
|
this.setState({
|
||||||
userFolderPermItems: this.state.userFolderPermItems.filter(deletedItem => {
|
userFolderPermItems: this.state.userFolderPermItems.filter(deletedItem => {
|
||||||
return deletedItem != item;
|
return deletedItem != item;
|
||||||
@ -164,7 +164,7 @@ class LibSubFolderSetUserPermissionDialog extends React.Component {
|
|||||||
}
|
}
|
||||||
|
|
||||||
onChangeUserFolderPerm = (repoID, permission, folderPath, userEmail) => {
|
onChangeUserFolderPerm = (repoID, permission, folderPath, userEmail) => {
|
||||||
seafileAPI.updateUserFolderPerm(repoID, permission, folderPath, userEmail).then(res => {
|
seafileAPI.updateUserFolderPerm(this.props.isDepartmentRepo, repoID, permission, folderPath, userEmail).then(res => {
|
||||||
let userFolderPermItems = this.state.userFolderPermItems.map(item => {
|
let userFolderPermItems = this.state.userFolderPermItems.map(item => {
|
||||||
if (item.user_email === userEmail && item.folder_path === folderPath) {
|
if (item.user_email === userEmail && item.folder_path === folderPath) {
|
||||||
item.permission = permission;
|
item.permission = permission;
|
||||||
|
Loading…
Reference in New Issue
Block a user